<!--
 ! 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.
 !-->

<asterixConfiguration xmlns="asterixconf">
    <instanceName>docker-minitest</instanceName>
    <metadataNode>nc1</metadataNode>
    <store>
        <ncId>nc1</ncId>
        <storeDirs>storage1</storeDirs>
    </store>
    <store>
        <ncId>nc2</ncId>
        <storeDirs>storage2</storeDirs>
    </store>
    <coredump>
        <ncId>nc1</ncId>
        <coredumpPath>/asterixdb/</coredumpPath>
        <ncId>nc2</ncId>
        <coredumpPath>/asterixdb/</coredumpPath>
    </coredump>
    <transactionLogDir>
        <ncId>nc1</ncId>
        <txnLogDirPath>/asterixdb/txnLogs1/</txnLogDirPath>
    </transactionLogDir>
    <transactionLogDir>
        <ncId>nc2</ncId>
        <txnLogDirPath>/asterixdb/txnLogs2/</txnLogDirPath>
    </transactionLogDir>

    <property>
        <name>nc.java.opts</name>
        <value>-Xmx1536m</value>
        <description>JVM parameters for each Node Contoller (NC)</description>
    </property>

    <property>
        <name>cc.java.opts</name>
        <value>-Xmx1024m</value>
        <description>JVM parameters for each Cluster Contoller (CC)
        </description>
    </property>

        <property>
                <name>max.wait.active.cluster</name>
                <value>60</value>
                <description>Maximum wait (in seconds) for a cluster to be ACTIVE (all nodes are available)
                        before a submitted query/statement can be executed. (Default = 60 seconds)
                </description>
        </property>

    <property>
        <name>storage.buffercache.pagesize</name>
        <value>131072</value>
        <description>The page size in bytes for pages in the buffer cache.
            (Default = "131072" // 128KB)
        </description>
    </property>

    <property>
        <name>storage.buffercache.size</name>
        <value>536870912</value>
        <description>The size of memory allocated to the disk buffer cache.
            The value should be a multiple of the buffer cache page size(Default
            = "536870912" // 512MB)
        </description>
    </property>

    <property>
        <name>storage.buffercache.maxopenfiles</name>
        <value>214748364</value>
        <description>The maximum number of open files in the buffer cache.
            (Default = "214748364")
        </description>
    </property>

    <property>
        <name>storage.memorycomponent.pagesize</name>
        <value>131072</value>
        <description>The page size in bytes for pages allocated to memory
            components. (Default = "131072" // 128KB)
        </description>
    </property>

    <property>
        <name>storage.memorycomponent.numpages</name>
        <value>256</value>
        <description>The number of pages to allocate for a memory component.
            (Default = 256)
        </description>
    </property>
    <property>
        <name>storage.metadata.memorycomponent.numpages</name>
        <value>64</value>
        <description>The number of pages to allocate for a memory component.
            (Default = 64)
        </description>
    </property>

    <property>
        <name>storage.memorycomponent.numcomponents</name>
        <value>2</value>
        <description>The number of memory components to be used per lsm index.
            (Default = 2)
        </description>
    </property>

    <property>
        <name>storage.memorycomponent.globalbudget</name>
        <value>536870912</value>
        <description>The total size of memory in bytes that the sum of all
            open memory
            components cannot exceed. (Default = "536870192" // 512MB)
        </description>
    </property>

    <property>
        <name>storage.lsm.bloomfilter.falsepositiverate</name>
        <value>0.01</value>
        <description>The maximum acceptable false positive rate for bloom
            filters associated with LSM indexes. (Default = "0.01" // 1%)
        </description>
    </property>

    <property>
        <name>txn.log.buffer.numpages</name>
        <value>8</value>
        <description>The number of in-memory log buffer pages. (Default = "8")
        </description>
    </property>

    <property>
        <name>txn.log.buffer.pagesize</name>
        <value>524288</value>
        <description>The size of pages in the in-memory log buffer. (Default =
            "524288" // 512KB)
        </description>
    </property>

    <property>
        <name>txn.log.partitionsize</name>
        <value>2147483648</value>
        <description>The maximum size of a log file partition allowed before
            rotating the log to the next partition. (Default = "2147483648" //
            2GB)
        </description>
    </property>

    <property>
        <name>txn.log.checkpoint.lsnthreshold</name>
        <value>67108864</value>
        <description>The size of the window that the maximum LSN is allowed to
            be ahead of the checkpoint LSN by. (Default = ""67108864" // 64M)
        </description>
    </property>

    <property>
        <name>txn.log.checkpoint.pollfrequency</name>
        <value>120</value>
        <description>The time in seconds between that the checkpoint thread
            waits between polls. (Default = "120" // 120s)
        </description>
    </property>

    <property>
        <name>txn.log.checkpoint.history</name>
        <value>0</value>
        <description>The number of old log partition files to keep before
            discarding. (Default = "0")
        </description>
    </property>

    <property>
        <name>txn.lock.escalationthreshold</name>
        <value>1000</value>
        <description>The number of entity level locks that need to be acquired
            before the locks are coalesced and escalated into a dataset level
            lock. (Default = "1000")
        </description>
    </property>

    <property>
        <name>txn.lock.shrinktimer</name>
        <value>5000</value>
        <description>The time in milliseconds to wait before deallocating
            unused lock manager memory. (Default = "5000" // 5s)
        </description>
    </property>

    <property>
        <name>txn.lock.timeout.waitthreshold</name>
        <value>60000</value>
        <description>The time in milliseconds to wait before labeling a
            transaction which has been waiting for a lock timed-out. (Default =
            "60000" // 60s)
        </description>
    </property>

    <property>
        <name>txn.lock.timeout.sweepthreshold</name>
        <value>10000</value>
        <description>The time in milliseconds the timeout thread waits between
            sweeps to detect timed-out transactions. (Default = "10000" // 10s)
        </description>
    </property>

    <property>
        <name>compiler.sortmemory</name>
        <value>33554432</value>
        <description>The amount of memory in bytes given to sort operations.
            (Default = "33554432" // 32mb)
        </description>
    </property>

    <property>
        <name>compiler.joinmemory</name>
        <value>33554432</value>
        <description>The amount of memory in bytes given to join operations.
            (Default = "33554432" // 32mb)
        </description>
    </property>

    <property>
        <name>compiler.framesize</name>
        <value>131072</value>
        <description>The Hyracks frame size that the compiler configures per
            job. (Default = "131072" // 128KB)
        </description>
    </property>

    <property>
        <name>web.port</name>
        <value>19001</value>
        <description>The port for the ASTERIX web interface. (Default = 19001)
        </description>
    </property>

    <property>
        <name>api.port</name>
        <value>19002</value>
        <description>The port for the ASTERIX API server. (Default = 19002)
        </description>
    </property>

    <property>
        <name>log.level</name>
        <value>INFO</value>
        <description>The minimum log level to be displayed. (Default = INFO)
        </description>
    </property>
</asterixConfiguration>
