; 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=target/tmp/asterix_nc1/txnlog
core.dump.dir=target/tmp/asterix_nc1/coredump
iodevices=target/tmp/asterix_nc1/iodevice1,../asterix-server/target/tmp/asterix_nc1/iodevice2
#jvm.args=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006

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

[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.buffercache.pagesize=32KB
storage.buffercache.size=128MB
storage.memorycomponent.globalbudget=512MB
storage.io.scheduler=greedy
storage.filtered.memorycomponent.max.size=16MB

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

[common]
log.dir=logs/
log.level=INFO
compiler.framesize=32KB
compiler.sortmemory=320KB
compiler.groupmemory=160KB
compiler.joinmemory=256KB
compiler.textsearchmemory=160KB
compiler.windowmemory=192KB
compiler.sort.parallel=false
compiler.internal.sanitycheck=true
messaging.frame.size=4096
messaging.frame.count=512

[extension/org.apache.asterix.graphix.extension.GraphixQueryTranslatorExtension]
enabled=true
[extension/org.apache.asterix.graphix.extension.GraphixLangExtension]
enabled=true
[extension/org.apache.asterix.graphix.extension.GraphixMetadataExtension]
enabled=true