; Licensed to the Apache Software Foundation (ASF) under one
; or more contributor license agreements.  See the NOTICE file
; distributed with this work for additional information
; regarding copyright ownership.  The ASF licenses this file
; to you under the Apache License, Version 2.0 (the
; "License"); you may not use this file except in compliance
; with the License.  You may obtain a copy of the License at
;
;   http://www.apache.org/licenses/LICENSE-2.0
;
; Unless required by applicable law or agreed to in writing,
; software distributed under the License is distributed on an
; "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
; KIND, either express or implied.  See the License for the
; specific language governing permissions and limitations
; under the License.

[nc/asterix_nc1]
txn.log.dir=../asterix-server/target/tmp/asterix_nc1/txnlog
core.dump.dir=../asterix-server/target/tmp/asterix_nc1/coredump
iodevices=asterix_nc1/iodevice1,asterix_nc1/iodevice2
#jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5006
replication.listen.port=2001
nc.api.port=19004

[nc/asterix_nc2]
ncservice.port=9091
txn.log.dir=../asterix-server/target/tmp/asterix_nc2/txnlog
core.dump.dir=../asterix-server/target/tmp/asterix_nc2/coredump
iodevices=asterix_nc2/iodevice1,asterix_nc2/iodevice2
#jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5007
replication.listen.port=2002
nc.api.port=19005

[nc]
address=127.0.0.1
command=asterixnc
app.class=org.apache.asterix.hyracks.bootstrap.NCApplication
jvm.args=-Xmx4096m -Dnode.Resolver="org.apache.asterix.external.util.IdentitiyResolverFactory"
storage.memorycomponent.globalbudget = 1073741824

[cc]
address = 127.0.0.1
app.class=org.apache.asterix.hyracks.bootstrap.CCApplication
heartbeat.period=2000
heartbeat.max.misses=25

[common]
log.level = INFO
replication.enabled=true
replication.strategy=all