<?xml version="1.0" encoding="UTF-8"?>
<!--
  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.
-->
<module>

<package prefix="ct" value="org.apache.accumulo.testing.randomwalk.concurrent"/>

<fixture id="ct.ConcurrentFixture"/>

<init id="ct.Setup"/>

<node id="dummy.ToAll">
  <edge id="ct.CreateTable" weight="1000"/>
  <edge id="ct.BatchWrite" weight="1000"/>
  <edge id="ct.BatchScan" weight="1000"/>
  <edge id="ct.CloneTable" weight="1000"/>
  <edge id="ct.DeleteTable" weight="1000"/>
  <edge id="ct.RenameTable" weight="1000"/>
  <edge id="ct.ScanTable" weight="500"/>
  <!-- edge id="ct.Replication" weight="500"/ -->
  <edge id="ct.IsolatedScan" weight="500"/>
  <edge id="ct.AddSplits" weight="1000"/>
  <edge id="ct.ListSplits" weight="1000"/>
  <edge id="ct.OfflineTable" weight="1000"/>
  <edge id="ct.Merge" weight="1000"/>
  <edge id="ct.Compact" weight="1000"/>
  <edge id="ct.BulkImport" weight="1000"/>
  <edge id="ct.DeleteRange" weight="1000"/>
  <edge id="ct.CreateUser" weight="1000"/>
  <edge id="ct.DropUser" weight="1000"/>
  <edge id="ct.ChangeAuthorizations" weight="1000"/>
  <edge id="ct.ChangePermissions" weight="1000"/>
  <edge id="ct.CheckPermission" weight="1000"/>
  <edge id="ct.Config" weight="1000"/>
  <edge id="ct.CreateNamespace" weight="1000"/>
  <edge id="ct.DeleteNamespace" weight="100"/>
  <edge id="ct.RenameNamespace" weight="100"/>
  <edge id="END" weight="1"/>
</node>

<node id="ct.Setup">
  <property key="numTables" value="9"/>
  <property key="numNamespaces" value="2"/>
  <edge id="ct.CreateTable" weight="1"/>
</node>

<node id="ct.BatchScan">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.BatchWrite">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.CloneTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.CreateTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.DeleteTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>
 
<node id="ct.RenameTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.ScanTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<!--
<node id="ct.Replication">
  <edge id="dummy.ToAll" weight="1"/>
</node>
-->

<node id="ct.IsolatedScan">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.AddSplits">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.ListSplits">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.OfflineTable">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.Merge">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.Compact">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.BulkImport">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.DeleteRange">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.CreateUser">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.DropUser">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.ChangeAuthorizations">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.ChangePermissions">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.CheckPermission">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.Config">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.CreateNamespace">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.DeleteNamespace">
  <edge id="dummy.ToAll" weight="1"/>
</node>

<node id="ct.RenameNamespace">
  <edge id="dummy.ToAll" weight="1"/>
</node>

</module>
