/
symmetric-default.properties
240 lines (182 loc) · 10.5 KB
/
symmetric-default.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
# Set the JNDI name if symmetric should use a JNDI registered connection pool# It is recommended that the application server provided Datasource is NOT transactional.
# Symmetric will handle transactionality.
# If NOT using a JNDI connection pool, provide information about the database connection.
# A DBCP connection pool will be created.
db.jndi.name=
# Set the name of the spring bean that is the DataSource to use. This property maybe be overridden so the end user can specify
# their own DataSource
db.spring.bean.name=symmetricBasicDataSource
db.driver=org.apache.derby.jdbc.EmbeddedDriver
db.url=jdbc:derby:target/derby/root;create=true
db.user=
db.password=
# The initial size of the connection pool
db.pool.initial.size=5
# The maximum number of connections that will be allocated in the pool
db.pool.max.active=10
# This is how long the default transaction time is.
# This needs to be fairly big to account for large data loads.
db.tx.timeout.seconds=7200
# Most symmetric queries have a timeout associated with them. This is the default.
db.sql.query.timeout.seconds=60
# This is how long a request for a connection from the datasource will wait before
# giving up.
db.pool.max.wait.millis=30000
# This is how long a connection can be idle before it will be evicted.
db.pool.min.evictable.idle.millis=120000
# This is the default fetch size for streaming result sets.
db.jdbc.streaming.results.fetch.size=1000
# When symmetric tables are created and accessed, this is the prefix to use for the tables.
sync.table.prefix=sym
# Set this if the triggers need to be prefixed. This is useful when running two symmetric instances
# against the same database.
symmetric.runtime.trigger.prefix=
# If this is true, when symmetric starts up it will try to create the necessary tables
symmetric.auto.config.database=true
# If this is true, when symmetric starts up it will try to upgrade tables to latest version
symmetric.auto.upgrade=true
# This is the engine name. This should be set if you have more than one engine running in the same JVM.
# It is used to name the JMX management bean. Please do not use underscores in this name.
symmetric.runtime.engine.name=Default
# Set this if you want to give your server a unique name to be used to identify which server did what action. Typically useful when running in
# a clustered environment. This is currently used by the ClusterService when locking for a node.
runtime.symmetric.cluster.server.id=
# This is hook to give the user a mechanism to indicate the schema version that is being synchronized.
# This property is only valid if you use the default IRuntimeConfiguration implementation.
symmetric.runtime.schema.version=?
# This is the URL this node will use to register and pull it's configuration.
# This property is only valid if you use the default IRuntimeConfiguration implementation.
symmetric.runtime.registration.url=
# This property is only valid if you use the default IRuntimeConfiguration implementation.
symmetric.runtime.my.url=http://localhost:8080/sync
# This property is only valid if you use the default IRuntimeConfiguration implementation.
symmetric.runtime.group.id=default
# This property is only valid if you use the default IRuntimeConfiguration implementation.
symmetric.runtime.external.id=
# Provides a way to override the default IRuntimeConfiguration. If you specify a class that implements the
# interface, it will be used instead of the default, property-based, version.
# An example value for this class would be: com.company.symmetric.node.MyRuntimeConfiguration
symmetric.runtime.configuration.class=
# Set this if tables should be purged prior to an initial load
#
# This property can be overridden in the database
symmetric.runtime.initial.load.delete.first=false
# Set this if tables should be created prior to an initial load
#
# This property can be overridden in the database
symmetric.runtime.initial.load.create.first=false
# If this is true, registration is opened automatically for nodes requesting it
#
# This property can be overridden in the database
symmetric.auto.registration=false
# If this is true, a reload is automatically sent to nodes when they register
#
# This property can be overridden in the database
symmetric.auto.reload=false
# This is the download rate for the HTTP symmetric transport. -1 means full throttle.
symmetric.http.download.rate.kb=-1
# This is the number of HTTP concurrent push/pull requests symmetric will accept. This is controlled
# by the NodeConcurrencyFilter. The number is per servlet the filter is applied to.
#
# This property can be overridden in the database
symmetric.http.concurrent.workers.max=20
# During SSL handshaking, if the URL's hostname and the server's
# identification hostname mismatch, the verification mechanism
# will check this comma separated list of server names to see if the
# cert should be accepted (see javax.net.ssl.HostnameVerifier)
symmetric.runtime.https.verified.server.names=
# @deprecated - this is now on the channel
# This is the maximum number of outgoing batches that will processed in one pull or push request.
# symmetric.runtime.outgoing.batches.max.to.process=60
# This is the maximum number of events that will be peeked at to look for additional transaction rows after
# the max batch size is reached. The more concurrency in your db and the longer the transaction takes the
# bigger this value might have to be.
#
# This property can be overridden in the database
symmetric.runtime.outgoing.batches.peek.ahead.window.after.max.size=100
# This instructs symmetric to attempt to skip duplicate batches that are received. Symmetric might
# be more efficient when recovering from error conditions if this is set to true, but you run the
# risk of missing data if the batch ids get reset (on one node, but not another) somehow (which is unlikely in production, but
# fairly likely in lab or development setups).
#
# This property can be overridden in the database
symmetric.runtime.incoming.batches.skip.duplicates=true
# If this property is set to true, then keys will not be included in set portion of
# the update statements generated by the data loader.
#
# This property can be overridden in the database
symmetric.runtime.dont.include.keys.in.update.statement=false
# This is the number of times we will attempt to send an ACK back to the remote node
# when pulling and loading data.
#
# This property can be overridden in the database
symmetric.runtime.num.of.ack.retries=5
# This is the amount of time to wait between trying to send an ACK back to the remote node
# when pulling and loading data.
#
# This property can be overridden in the database
symmetric.runtime.time.between.ack.retries.ms=5000
# The number of milliseconds parameters will be cached by the ParameterService before they are reread from the
# file system and database.
#
# This property can be overridden in the database
symmetric.runtime.parameter.reload.timeout.ms=600000
# Indicate that this node is being run on a farm or cluster of servers and it needs to use the database to 'lock' out other activity when actions are taken.
symmetric.runtime.cluster.lock.timeout.ms=1800000
symmetric.runtime.cluster.lock.during.purge=false
symmetric.runtime.cluster.lock.during.pull=false
symmetric.runtime.cluster.lock.during.push=false
symmetric.runtime.cluster.lock.during.heartbeat=false
symmetric.runtime.cluster.lock.during.sync.triggers=false
# Sets both the connection and read timeout on the internal HttpUrlConnection
#
# This property can be overridden in the database
symmetric.runtime.http.timeout.ms=600000
# Whether or not to use compression over HTTP connections.
# Currently, this setting only affects the push connection of the source node.
# Compression on a pull is enabled using a filter in the web.xml for the PullServlet.
#
# This property can be overridden in the database
symmetric.runtime.http.compression=true
# Disable compression from occurring on Servlet communication. This property only
# affects the outbound HTTP traffic streamed by the PullServlet and PushServlet.
#
# This property can be overridden in the database
symmetric.web.compression.disabled=false
# When starting jobs, symmetric attempts to randomize the start time to spread out load. This is the
# maximum wait period before starting a job.
symmetric.runtime.job.random.max.start.time.ms=10000
# This is the retention for how long synchronization data will be kept in the symmetric synchronization
# tables. Note that data will be purged only if the purge job is enabled.
symmetric.runtime.purge.retention.minutes=7200
# This is how often the push job will be run.
symmetric.runtime.job.push.period.time.ms=60000
# This is how often the pull job will be run.
symmetric.runtime.job.pull.period.time.ms=60000
# This is how often the purge job will be run.
symmetric.runtime.job.purge.period.time.ms=600000
# This is how often accumulated statistics will be flushed out to the database from memory
symmetric.runtime.job.stat.flush.period.time.ms=600000
# This is the number of data events that will be purged in one database transaction
symmetric.runtime.job.purge.max.num.data.events.to.delete.in.tx=5000
# If scheduled, the sync triggers job will run nightly. This is how long after
# midnight that job will run.
symmetric.runtime.job.synctriggers.aftermidnight.minutes=15
# Whether the pull job is enabled for this node.
symmetric.runtime.start.pull.job=true
# Whether the push job is enabled for this node.
symmetric.runtime.start.push.job=true
# Whether the purge job is enabled for this node.
symmetric.runtime.start.purge.job=true
# Whether the heartbeat job is enabled for this node. The heartbeat job simply
# inserts an event to update the heartbeat_time column on the node table for the current node.
symmetric.runtime.start.heartbeat.job=true
# Whether the sync triggers job is enabled for this node.
symmetric.runtime.start.synctriggers.job=true
# Whether the statistic flush job is enabled for this node.
symmetric.runtime.start.stat.flush.job=true
# Specify the transport type. Supported values currently include: http, internal
symmetric.transport.type=http
# If using the HsqlDbDialect, this property indicates whether Symmetric should setup the embedded database properties or if an
# external application will be doing so.
symmetric.hsqldb.initialize.db=true