blob: 30b4da19e2b16a0c3f99f86a70305bc4ff909237 [file] [log] [blame]
---
title: create
---
<!--
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.
-->
Create async-event-queues, disk-stores, gateway receivers, gateway senders, indexes, and regions.
- **[create async-event-queue](#topic_ryz_pb1_dk)**
Creates an asynchronous event queue for batching events before they are delivered by a gateway sender.
- **[create defined indexes](#topic_w2t_l3m_qq)**
Creates all the defined indexes.
- **[create disk-store](#topic_bkn_zty_ck)**
Defines a pool of one or more disk stores, which can be used by regions and client subscription queues, and gateway sender queues for WAN distribution.
- **[create gateway-receiver](#topic_a4x_pb1_dk)**
Creates a gateway receiver. You can only have one gateway receiver on each member, and unlike a gateway sender, you do not need to specify an identifier for the gateway receiver .
- **[create gateway-sender](#topic_hg2_bjz_ck)**
Creates a gateway sender on one or more members of a cluster.
- **[create index](#topic_960A5B6FD3D84E1881EE118E299DD12D)**
Create an index that can be used when executing queries.
- **[create jndi-binding](#create_jndi-binding)**
Create a JNDI binding that specifies resource attributes which describe a JDBC connection.
- **[create lucene index](#create_lucene_index)**
Create a region with given path and configuration.
- **[create region](#topic_54B0985FEC5241CA9D26B0CE0A5EA863)**
Create a region with given path and configuration.
## <a id="topic_ryz_pb1_dk" class="no-quick-link"></a>create async-event-queue
Creates an asynchronous event queue for batching events before they are delivered by a gateway sender.
See [Configuring Multi-Site (WAN) Event Queues](../../../developing/events/configure_multisite_event_messaging.html#configure_multisite_event_messaging).
**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.
**Syntax:**
``` pre
create async-event-queue --id=value --listener=value [--groups=value(,value)*]
[--parallel(=value)?] [--enable-batch-conflation(=value)?] [--batch-size=value]
[--batch-time-interval=value] [--persistent(=value)?] [--disk-store=value]
[--disk-synchronous(=value)?] [--max-queue-memory=value]
[--dispatcher-threads=value] [--order-policy=value]
[--gateway-event-filter=value(,value)*]
[--gateway-event-substitution-filter=value]
[--listener-param=value(,value)*] [--forward-expiration-destroy(=value)?]
[--pause-event-processing(=value)?]
```
**Parameters, create async-event-queue:**
<table>
<colgroup>
<col width="33%" />
<col width="34%" />
<col width="33%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="keyword parmname">\-\-id</span></td>
<td><em>Required</em>. ID of the asynchronous event queue</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-groups</span></td>
<td>The queue is created on all members of the group(s). If you do not specify a group, the queue is created on all members.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-parallel</span></td>
<td>Specifies whether the queue is parallel.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-batch-conflation</span></td>
<td>Enables batch conflation.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-batch-size</span></td>
<td>Maximum number of messages that a batch can contain.</td>
<td>100</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-batch-time-interval</span></td>
<td>Maximum amount of time, in ms, that can elapse before a batch is delivered.</td>
<td>5</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-persistent</span></td>
<td>Boolean value that determines whether <%=vars.product_name%> persists this queue.</td>
<td>false
<p>If specified with out a value, default is true.</p></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-store</span></td>
<td>Named disk store to use for storing queue overflow, or for persisting the queue. If you specify a value, the named disk store must exist. If you specify a null value, <%=vars.product_name%> uses the default disk store for overflow and queue persistence.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-synchronous</span></td>
<td>Specifies whether disk writes are synchronous.</td>
<td>true</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-max-queue-memory</span></td>
<td>Maximum amount of memory in megabytes that the queue can consume before overflowing to disk.</td>
<td>100</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-dispatcher-threads</span></td>
<td>Number of threads used for sending events.</td>
<td>5</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-order-policy</span></td>
<td>Policy for dispatching events when \-\-dispatcher-threads is &gt; 1. Possible values are <code class="ph codeph">THREAD</code>, <code class="ph codeph">KEY</code>, <code class="ph codeph">PARTITION</code>.</td>
<td>KEY</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-event-filter</span></td>
<td>List of fully qualified class names of GatewayEventFilters for this queue. These classes filter events before dispatching to remote servers.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-event-substitution-filter</span></td>
<td>Fully-qualified class name of the <code class="ph codeph">GatewayEventSubstitutionFilter</code> for this queue.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-listener</span></td>
<td><em>Required.</em> Fully-qualified class name of Async Event Listener for this queue</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-listener-param</span></td>
<td>Parameter name and value to be passed to the Async Event Listener class. Optionally, you can specify a value by following the parameter name with the # character and the value. For example:
<pre class="pre codeblock"><code>--listener-param=myParam#24</code></pre></td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-forward-expiration-destroy</span></td>
<td>Enables forwarding of expiration destroy operations to AsyncEventListener instances. If specified without a value, this parameter is set to “false”.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-pause-event-processing</span></td>
<td>Specifies whether event dispatching from the queue to the listener(s) will be paused when the AsyncEventQueue is started. If specified without a value, this parameter is set to "true".</td>
<td>false</td>
</tr>
</tbody>
</table>
**Example Commands:**
``` pre
create async-event-queue --id=myAEQ --listener=myApp.myListener
```
## <a id="topic_w2t_l3m_qq" class="no-quick-link"></a>create defined indexes
Creates all the defined indexes.
See also [define index](define.html) and [clear defined indexes](clear.html).
**Availability:** Online. You must be connected in <span class="keyword parmname">gfsh</span> to a JMX Manager member to use this command.
**Syntax:**
``` pre
create defined indexes [--members=value(,value)*] [--groups=value(,value)*]
```
**Parameters, create defined indexes:**
| Name | Description | Default |
|------------------------------------------------|--------------------------------------------------------------------|---------|
| <span class="keyword parmname">\\-\\-members</span> | Name/Id of the member(s) on which index will be created. |   |
| <span class="keyword parmname">\\-\\-groups</span> | The index will be created on all the members in the member group(s). |   |
**Example Commands:**
``` pre
create defined indexes
```
**Sample Output:**
``` pre
gfsh>create defined indexes
Indexes successfully created. Use list indexes to get details.
1. ubuntu(server1:17682)<v1>:27574
```
If index creation fails, you may receive an error message in gfsh similar to the following:
``` pre
gfsh>create defined indexes
Exception : org.apache.geode.cache.query.RegionNotFoundException ,
Message : Region ' /r3' not found: from /r3Occurred on following members
1. india(s1:17866)<v1>:27809
```
## <a id="topic_bkn_zty_ck" class="no-quick-link"></a>create disk-store
Defines a pool of one or more disk stores, which can be used by regions and client subscription queues, and gateway sender queues for WAN distribution.
See [Disk Storage](../../../managing/disk_storage/chapter_overview.html)
**Availability:** Online. You must be connected in <span class="keyword parmname">gfsh</span> to a JMX Manager member to use this command.
**Syntax:**
``` pre
create disk-store --name=value --dir=value(,value)* [--allow-force-compaction(=value)?]
[--auto-compact(=value)?] [--compaction-threshold=value] [--max-oplog-size=value]
[--queue-size=value] [--time-interval=value] [--write-buffer-size=value]
[--groups=value(,value)*]
[--disk-usage-warning-percentage=value] [--disk-usage-critical-percentage=value]
```
**Parameters, create disk-store:**
<table>
<colgroup>
<col width="25%" />
<col width="50%" />
<col width="25%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="keyword parmname">\-\-name</span></td>
<td><em>Required.</em> The name of this disk store.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-dir</span></td>
<td><em>Required.</em> One or more directory names where the disk store files are written. Optionally, directory names may be followed by <code class="ph codeph">#</code> and the maximum number of megabytes that the disk store can use in the directory. For example:
<pre class="pre codeblock"><code>--dir=/data/ds1
--dir=/data/ds2#5000</code></pre>
If the specified directory does not exist, the command will create the directory for you.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-allow-force-compaction</span></td>
<td>Set to true to allow disk compaction to be forced on this disk store.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-auto-compact</span></td>
<td>Set to true to automatically compact the disk files.</td>
<td>true</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-compaction-threshold</span></td>
<td>Percentage of non-garbage remaining, below which the disk store is eligible for compaction.</td>
<td>50</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-max-oplog-size</span></td>
<td>Maximum size, in megabytes, for an oplog file. When the oplog file reaches this size, the file is rolled over to a new file.</td>
<td>1024</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-queue-size</span></td>
<td>Maximum number of operations that can be asynchronously queued to be written to disk.</td>
<td>0</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-time-interval</span></td>
<td>The number of milliseconds that can elapse before unwritten data is written to disk.</td>
<td>1000</td>
</tr>
<tr>
<td><span class="keyword parmname"> --groups</span></td>
<td>The disk store is created on all members of the group(s). If no group is specified, the disk store is created on all members.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-write-buffer-size</span></td>
<td>The size of the write buffer that this disk store uses when writing data to disk. Larger values may increase performance but use more memory. The disk store allocates one direct memory buffer of this size.</td>
<td>32768</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-usage-warning-percentage</span></td>
<td>Disk usage above this threshold generates a warning message. For example, if the threshold is set to 90%, then on a 1 TB drive falling under 100 GB of free disk space generates the warning.
<p>Set to &quot;0&quot; (zero) to disable.</p></td>
<td>90</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-usage-critical-percentage</span></td>
<td>Disk usage above this threshold generates an error message and shuts down the member's cache. For example, if the threshold is set to 99%, then falling under 10 GB of free disk space on a 1 TB drive generates the error and shuts down the cache.
<p>Set to &quot;0&quot; (zero) to disable.</p></td>
<td>99</td>
</tr>
</tbody>
</table>
**Example Commands:**
``` pre
create disk-store --name-store1 --dir=/data/ds1
```
**Sample Output:**
``` pre
gfsh>create disk-store --name-store1 --dir=/data/ds1
Member | Result
------- | -------
server1 | Success
```
## <a id="topic_a4x_pb1_dk" class="no-quick-link"></a>create gateway-receiver
Creates gateway receivers. You can only have one gateway receiver on each member, and unlike a gateway sender, you do not need to specify an identifier for the gateway receiver.
The create occurs on all servers,
unless the `--groups` or `--members` option is specified.
If the gateway receiver creation succeeds on at least one member,
this `gfsh` command exits with an exit code indicating success.
Outputs a tabular format status of each member's gateway receiver,
independent of the success or failure of the creation.
See [Gateway Receivers](../../../topologies_and_comm/topology_concepts/multisite_overview.html).
**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.
**Syntax:**
``` pre
create gateway-receiver [--groups=value(,value)*] [--members=value(,value)*]
[--manual-start=(value)?] [--start-port=value] [--end-port=value] [--bind-address=value]
[--maximum-time-between-pings=value] [--socket-buffer-size=value]
[--gateway-transport-filter=value(,value)*] [--hostname-for-senders=value]
[--if-not-exists=(value)?]
```
**Parameters, create gateway-receiver:**
<table>
<colgroup>
<col width="25%" />
<col width="65%" />
<col width="10%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default Value</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="keyword parmname">\-\-groups</span></td>
<td>Gateway receivers are created on the members of the group(s).</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-members</span></td>
<td>Name of the member(s) on which to create the gateway receiver.
For backward compatibility, no gateway receiver configuration is persisted
if this option is specified and cluster configuration is enabled.
</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-manual-start</span></td>
<td>Boolean value that specifies whether you need to manually start the gateway receiver. When specified without providing a boolean value or when specified and set to &quot;true&quot;, the gateway receiver must be started manually.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-start-port</span></td>
<td><p>Starting port number to use when specifying the range of possible port numbers this gateway receiver will use to connects to gateway senders in other sites. <%=vars.product_name%> chooses an unused port number in the specified port number range to start the receiver. If no port numbers in the range are available, an exception is thrown.</p>
<p>The <code class="ph codeph">STARTPORT</code> value is inclusive while the <code class="ph codeph">ENDPORT</code> value is exclusive. For example, if you specify <code class="ph codeph">STARTPORT=&quot;50510&quot;</code> and <code class="ph codeph">ENDPORT=&quot;50520&quot;</code>, <%=vars.product_name%> chooses a port value from 50510 to 50519.</p></td>
<td>5000</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-end-port</span></td>
<td><p>Defines the upper bound port number to use when specifying the range of possible port numbers this gateway receiver will use to for connections from gateway senders in other sites. <%=vars.product_name%> chooses an unused port number in the specified port number range to start the receiver. If no port numbers in the range are available, an exception is thrown.</p>
<p>The <code class="ph codeph">ENDPORT</code> value is exclusive while the <code class="ph codeph">STARTPORT</code> value is inclusive. For example, if you specify <code class="ph codeph">STARTPORT=&quot;50510&quot;</code> and <code class="ph codeph">ENDPORT=&quot;50520&quot;</code>, <%=vars.product_name%> chooses a port value from 50510 to 50519.</p></td>
<td>5500</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-bind-address</span></td>
<td>Network address for connections from gateway senders in other sites. Specify the address as a literal string value.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-socket-buffer-size</span></td>
<td>An integer value that sets the buffer size (in bytes) of the socket connection for this gateway receiver. This value should match the <code class="ph codeph">socket-buffer-size</code> setting of gateway senders that connect to this receiver.</td>
<td>32768</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-transport-filter</span></td>
<td>The fully qualified class name of the GatewayTransportFilter to be added to the Gateway receiver.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-maximum-time-between-pings</span></td>
<td>Integer value that specifies the time interval (in milliseconds) to use between pings to connected WAN sites. This value determines the maximum amount of time that can elapse before a remote WAN site is considered offline.</td>
<td>60000</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-hostname-for-senders</span></td>
<td>The host name or IP address told to gateway senders as the address for them to connect to. The locator informs gateway senders of this value.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-if-not-exists</span></td>
<td>When specified without providing a boolean value or when specified and set to &quot;true&quot;, gateway receivers will not be created if they already exist. Command output reports the status of each creation attempt.
</td>
<td>false</td>
</tr>
</tbody>
</table>
**Example Commands:**
``` pre
gfsh>create gateway-receiver --members=server1
```
**Sample Output:**
``` pre
gfsh>create gateway-receiver --members=server1
Member | Status
------- | ---------------------------------------------------------------------------
server1 | GatewayReceiver created on member "server1" and will listen on the port "0"
```
## <a id="topic_hg2_bjz_ck" class="no-quick-link"></a>create gateway-sender
Creates a gateway sender on one or more members of a cluster.
See [Gateway Senders](../../../topologies_and_comm/topology_concepts/multisite_overview.html).
**Note:**
The gateway sender configuration for a specific sender `id` must be identical on each <%=vars.product_name%> member that hosts the gateway sender.
**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.
**Syntax:**
``` pre
create gateway-sender --id=value --remote-distributed-system-id=value
[--groups=value(,value)*] [--members=value(,value)*] [--parallel(=value)?]
[--manual-start=value] [--socket-buffer-size=value] [--socket-read-timeout=value]
[--enable-batch-conflation=value] [--batch-size=value] [--batch-time-interval=value]
[--enable-persistence=value] [--disk-store-name=value] [--disk-synchronous=value]
[--maximum-queue-memory=value] [--alert-threshold=value] [--dispatcher-threads=value]
[--order-policy=value][--gateway-event-filter=value(,value)*]
[--gateway-transport-filter=value(,value)*]
[--group-transaction-events(=value)?]
```
**Parameters, create gateway-sender:**
<table>
<colgroup>
<col width="30%" />
<col width="50%" />
<col width="20%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="keyword parmname">\-\-id</span></td>
<td><em>Required.</em> Unique identifier for the gateway sender, usually an identifier associated with a physical location.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-remote-distributed-system-id</span></td>
<td><em>Required.</em> ID of the remote cluster where this gateway sender sends events.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-groups</span></td>
<td>Gateway senders are created on the members of the group(s).</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-members</span></td>
<td>Name of the member(s) on which to create the gateway sender.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-parallel</span></td>
<td>When set to true, specifies a parallel Gateway Sender.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-batch-conflation</span></td>
<td>Boolean value that determines whether <%=vars.product_name%> should conflate messages.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-manual-start</span></td>
<td><b>Deprecated.</b> Boolean value that specifies whether you need to manually start the gateway sender. If you supply a null value, the default value of false is used, and the gateway sender starts automatically. <em>A manual start is likely to cause data loss, so manual start should never be used in a production system.</em></td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-socket-buffer-size</span></td>
<td>Size of the socket buffer that sends messages to remote sites. This size should match the size of the <code class="ph codeph">socket-buffer-size</code> attribute of remote gateway receivers that process region events.</td>
<td>32768</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-socket-read-timeout</span></td>
<td>Amount of time in milliseconds that the gateway sender will wait to receive an acknowledgment from a remote site. By default this is set to 0, which means there is no timeout. If you do set this timeout, you must set it to a minimum of 30000 (milliseconds). Setting it to a lower number will generate an error message and reset the value to the default of 0.</td>
<td>0</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-batch-size</span></td>
<td>Maximum number of messages that a batch can contain.</td>
<td>100</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-batch-time-interval</span></td>
<td>Maximum number of milliseconds that can elapse between sending batches.</td>
<td>1000</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-persistence</span></td>
<td>Boolean value that determines whether <%=vars.product_name%> persists the gateway queue.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-store-name</span></td>
<td>Named disk store to use for storing the queue overflow, or for persisting the queue. If you specify a value, the named disk store must exist. If you specify a null value, <%=vars.product_name%> uses the default disk store for overflow and queue persistence. For parallel gateway senders, set this to the same disk store the region uses.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-synchronous</span></td>
<td>For regions that write to disk, boolean that specifies whether disk writes are done synchronously for the region.</td>
<td>true</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-maximum-queue-memory</span></td>
<td>Maximum amount of memory in megabytes that the queue can consume before overflowing to disk.</td>
<td>100 MB</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-alert-threshold</span></td>
<td>Maximum number of milliseconds that a region event can remain in the gateway sender queue before <%=vars.product_name%> logs an alert.</td>
<td>0</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-dispatcher-threads</span></td>
<td>Number of dispatcher threads that are used to process region events from a gateway sender queue or asynchronous event queue.</td>
<td>5</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-order-policy</span></td>
<td>When the <code class="ph codeph">dispatcher-threads</code> attribute is greater than 1, <code class="ph codeph">order-policy</code> configures the way in which multiple dispatcher threads process region events from a serial gateway queue or serial asynchronous event queue. This attribute can have one of the following values:
<dt><b>key</b></dt>
<dd>When distributing region events from the local queue, multiple dispatcher threads preserve the order of key updates.</dd>
<dt><b>thread</b></dt>
<dd>When distributing region events from the local queue, multiple dispatcher threads preserve the order in which a given thread added region events to the queue.</dd>
<dt><b>partition</b></dt>
<dd>When distributing region events from the local queue, multiple dispatcher threads preserve the order in which region events were added to the local queue. For a partitioned region, this means that all region events delivered to a specific partition are delivered in the same order to the remote <%=vars.product_name%> site. For a distributed region, this means that all key updates delivered to the local gateway sender queue are distributed to the remote site in the same order.</dd>
<p>You cannot configure the <code class="ph codeph">order-policy</code> for a parallel event queue, because parallel queues cannot preserve event ordering for regions. Only the ordering of events for a given partition (or in a given queue of a distributed region) can be preserved.</p></td>
<td>key</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-event-filter</span></td>
<td>A list of fully-qualified class names of GatewayEventFilters (separated by commas) to be associated with the GatewaySender. This serves as a callback for users to filter out events before dispatching to a remote cluster. For example:
<pre class="pre codeblock"><code>gateway-event-filter=com.user.filters.MyFilter1,com.user.filters.MyFilters2</code></pre></td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-transport-filter</span></td>
<td>The fully-qualified class name of the GatewayTransportFilter to be added to the GatewaySender.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-group-transaction-events</span></td>
<td>Boolean value to ensure that all the events of a transaction are sent in the same batch, i.e., they are never spread across different batches.
<p>Only allowed to be set on gateway senders with the <code class="ph codeph">parallel</code> attribute set to false and <code class="ph codeph">dispatcher-threads</code> attribute equal to 1, or on gateway senders with the <code class="ph codeph">parallel</code> attribute set to true. Also, the <code class="ph codeph">enable-batch-conflation</code> attribute of the gateway sender must be set to false.</p>
<p><b>Note:</b> In order to work for a transaction, the regions to which the transaction events belong must be replicated by the same set of senders with this flag enabled.</p>
<p><b>Note:</b> If the above condition is not fulfilled or under very high load traffic conditions, it may not be guaranteed that all the events for a transaction will be sent in the same batch, even if <code class="ph codeph">group-transaction-events</code> is enabled. The number of batches sent with incomplete transactions can be retrieved from the <code class="ph codeph">GatewaySenderMXBean</code> bean.</p></td>
</td>
<td>false</td>
</tr>
</tbody>
</table>
**Example Commands:**
``` pre
gfsh>create gateway-sender --remote-distributed-system-id="2" --id="sender2"
```
**Sample Output:**
``` pre
gfsh>create gateway-sender --remote-distributed-system-id="2" --id="sender2"
Member | Status
------- | --------------------------------------------
server1 | GatewaySender "sender2" created on "server1"
```
## <a id="topic_960A5B6FD3D84E1881EE118E299DD12D" class="no-quick-link"></a>create index
Create an index that can be used when executing queries.
**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.
See [Working with Indexes](../../../developing/query_index/query_index.html).
**Syntax:**
``` pre
create index --name=value --expression=value --region=value
[--members=value(,value)*] [--type=value] [--groups=value(,value)*]
```
**Parameters, create index:**
| Name | Description | Default |
|----------------------------------------------------|----------------------------------------------------------------------------------------|---------|
| <span class="keyword parmname">\\-\\-name</span> | *Required.* Name of the index to create. |   |
| <span class="keyword parmname">&#8209;&#8209;expression</span> | *Required.* Field of the region values that are referenced by the index. |   |
| <span class="keyword parmname">\\-\\-region</span> | *Required.* Name/Path of the region which corresponds to the "from" clause in a query. |   |
| <span class="keyword parmname">\\-\\-members</span> | Name/Id of the member(s) on which index will be created. |   |
| <span class="keyword parmname">\\-\\-type</span> | Type of the index. Valid values are: `range` and `key`. (A third type, `hash`, is still recognized but hash indexes are deprecated.) | `range` |
| <span class="keyword parmname">\\-\\-groups</span> | The index will be created on all the members in the group(s). |   |
**Example Commands:**
``` pre
create index --name=myKeyIndex --expression=region1.Id --region=region1 --type=key
```
**Sample Output:**
``` pre
gfsh>create index --name=myKeyIdex --expression=region1.Id --region=region1 --type=key
Index successfully created with following details
Name : myKeyIdex
Expression : region1.Id
RegionPath : /region1
Members which contain the index
1. ubuntu(server1:17682)<v1>:27574
gfsh>create index --name=myIndex2 --expression=exp2 --region=/exampleRegion
Failed to create index "myIndex2" due to following reasons
Index "myIndex2" already exists. Create failed due to duplicate name.
Occurred on following members
1. ubuntu(server1:17682)<v1>:27574
```
## <a id="create_jndi-binding" class="no-quick-link"></a>create jndi-binding
Create a JNDI binding that specifies resource attributes which describe a
JDBC connection.
**Availability:** Online. You must be connected in <span class="keyword parmname">gfsh</span> to a JMX Manager member to use this command.
**Syntax:**
``` pre
create jndi-binding --name=value --url=value
[--jdbc-driver-class=value] [--type=value] [--blocking-timeout-seconds=value]
[--conn-pooled-datasource-class=value] [--idle-timeout-seconds=value]
[--init-pool-size=value] [--login-timeout-seconds=value]
[--managed-conn-factory-class=value] [--max-pool-size=value] [--password=value]
[--transaction-type=value] [--username=value] [--xa-datasource-class=value]
[--if-not-exists(=value)?] [--datasource-config-properties=value(,value)*]
```
**Parameters, create jndi-binding:**
| Name | Description | Default |
|----------------------------------------------------|----------------------------------------------------------------------------------------|---------|
| <span class="keyword parmname">\\-\\-name</span> | *Required.* Name of the binding to create. |   |
| <span class="keyword parmname">&#8209;&#8209;url or &#8209;&#8209;connection-url</span> | *Required.* the JDBC driver connection URL string. For example, `jdbc:hsqldb:hsql://localhost:1701`. |   |
| <span class="keyword parmname">\\-\\-jdbc-driver-class</span> | The fully qualified name of the JDBC driver class. |   |
| <span class="keyword parmname">\\-\\-type</span> | Type of the XA datasource. One of: `MANAGED`, `SIMPLE`, `POOLED`, or `XAPOOLED`. If `--type=POOLED` and a `--conn-pooled-datasource-class` option is not specified, a pool will be created using Hikari. For more information on Hikari, see [https://brettwooldridge.github.io/HikariCP](https://brettwooldridge.github.io/HikariCP). | `SIMPLE` |
| <span class="keyword parmname">\\-\\-blocking-timeout-seconds</span> | Specifies the maximum time, in seconds, to block while waiting for a connection before throwing an exception. |   |
| <span class="keyword parmname">\\-\\-conn-pooled-datasource-class</span> | The fully qualified name of the connection pool implementation that holds XA datasource connections. If `--type=POOLED`, then this class must implement `org.apache.geode.datasource.PooledDataSourceFactory`. |   |
| <span class="keyword parmname">\\-\\-idle-timeout-seconds</span> | Specifies the time, in seconds, that a connection may be idle before being closed. |   |
| <span class="keyword parmname">\\-\\-init-pool-size</span> | Specifies the initial number of connections the pool should hold. |   |
| <span class="keyword parmname">\\-\\-login-timeout-seconds</span> | The quantity of seconds after which the client thread will be disconnected due to inactivity. |   |
| <span class="keyword parmname">\\-\\-managed-conn-factory-class</span> | The fully qualified name of the connection factory implementation. |   |
| <span class="keyword parmname">\\-\\-max-pool-size</span> | The maximum number of connections that may be created in a pool. |   |
| <span class="keyword parmname">\\-\\-password</span> | The default password used when creating a new connection. |   |
| <span class="keyword parmname">\\-\\-transaction-type</span> | Type of the transaction. One of `XATransaction`, `NoTransaction`, or `LocalTransaction`. |   |
| <span class="keyword parmname">\\-\\-username</span> | Specifies the user name to be used when creating a new connection. When specified, if the `--password` option is not also specified, gfsh will prompt for the password. |   |
| <span class="keyword parmname">\\-\\-xa-datasource-class</span> | The fully qualified name of the `javax.sql.XADataSource` implementation class. |   |
| <span class="keyword parmname">\\-\\-if-not-exists</span> | When true, a duplicate jndi binding will not be created if one with the same name already exists. When false, an attempt to create a duplicate jndi binding results in an error. The option is set to true if the option is specified without a value. | false |
| <span class="keyword parmname">\\-\\-datasource-config-properties</span> | Properties for the custom `XADataSource` driver. Append a JSON string containing a (name, type, value) tuple to set any property. If `--type=POOLED`, the properties will configure the database data source. If `--type=POOLED` and the value of a name within the tuple begins with the string "pool.", then the properties will configure the pool data source. For example: `--datasource-config-properties={'name':'name1','type':'type1','value':'value1'},{'name':'pool.name2','type':'type2','value':'value2'}` |   |
**Example Commands:**
``` pre
gfsh>create jndi-binding --name=jndi1 --type=SIMPLE \
--jdbc-driver-class=org.apache.derby.jdbc.EmbeddedDriver \
--url="jdbc:derby:newDB;create=true"
```
## <a id="create_lucene_index" class="no-quick-link"></a>create lucene index
Create a Lucene index. For details on Lucene index creation, see [Apache Lucene Integration](../../../tools_modules/lucene_integration.html).
For additional Lucene-related gfsh commands, see [describe lucene index](describe.html#describe_lucene_index), [destroy lucene index](destroy.html#destroy_lucene_index), [list lucene indexes](list.html#list_lucene_indexes) and [search lucene](search.html#search_lucene).
**Availability:** Online. You must be connected in <span class="keyword parmname">gfsh</span> to a JMX Manager member to use this command.
**Syntax:**
``` pre
create lucene index --name=value --region=value --field=value(,value)*
[--analyzer=value(,value)*] [--serializer=value] [--group=value(,value)*]
```
**Parameters, create lucene index:**
| Name | Description | Default |
|----------------------------------------------------|----------------------------------------------------------------------------------------|---------|
| <span class="keyword parmname">\\-\\-name</span> | *Required.* Name of the index to create. |   |
| <span class="keyword parmname">\\-\\-region</span> | *Required.* Name/Path of the region on which to define the index. |   |
| <span class="keyword parmname">\\-\\-field</span> | *Required.* Field(s) of the region values that are referenced by the index, specified as a comma-separated list. To treat the entire value as a single field, specify `__REGION_VALUE_FIELD`. |   |
| <span class="keyword parmname">&#8209;&#8209;analyzer</span> | Analyzer(s) to extract terms from text, specified as a comma-separated list. If not specified, the default analyzer is used for all fields. If specified, the number of analyzers must exactly match the number of fields specified. When listing analyzers, use the keyword `DEFAULT` for any field that will use the default analyzer. | Lucene `StandardAnalyzer`  |
| <span class="keyword parmname">&#8209;&#8209;serializer</span> | Fully qualified class name of the serializer to be used with this index. The serializer must implement the `LuceneSerializer` interface. You can use the built-in `org.apache.geode.cache.lucene.FlatFormatSerializer` to index and search collections and nested fields. If not specified, the simple default serializer is used, which indexes and searches only the top level fields of the region objects. | simple serializer  |
| <span class="keyword parmname">\\-\\-group</span> | The index will be created on all the members in the specified member groups. |   |
**Example Commands:**
``` pre
gfsh>create lucene index --name=customerIndex --region=/Customer
--field=__REGION_VALUE_FIELD
gfsh>create lucene index --name=analyzerIndex --region=/Person
--field=name,email,address,revenue
--analyzer=DEFAULT,org.apache.lucene.analysis.core.KeywordAnalyzer,
examples.MyCharacterAnalyzer,DEFAULT
```
**Sample Output:**
``` pre
gfsh>create lucene index --name=testIndex --region=testRegion
--field=__REGION_VALUE_FIELD
Member | Status
-------------------------------------- | ---------------------------------
192.168.1.23(server505:17200)<v1>:1025 | Successfully created lucene index
```
## <a id="topic_54B0985FEC5241CA9D26B0CE0A5EA863" class="no-quick-link"></a>create region
Create a region with given path and configuration.
You must specify either a `--type` or a `--template-region` for initial configuration when creating a region. Specifying a `--key-constraint` and `--value-constraint` makes object type information available during querying and indexing.
See [Region Data Storage and Distribution](../../../developing/region_options/chapter_overview.html).
See [Specifying JSON within Command-Line Options](../json_in_gfsh.html)
for syntax details.
**Availability:** Online. You must be connected in `gfsh` to a JMX Manager member to use this command.
**Syntax:**
``` pre
create region --name=value [--type=value] [--template-region=value]
[--groups=value(,value)*] [--if-not-exists(=value)?]
[--key-constraint=value] [--value-constraint=value]
[--enable-statistics=value] [--entry-idle-time-expiration=value]
[--entry-idle-time-expiration-action=value]
[--entry-time-to-live-expiration=value]
[--entry-time-to-live-expiration-action=value]
[--entry-idle-time-custom-expiry=value] [--entry-time-to-live-custom-expiry=value]
[--region-idle-time-expiration=value]
[--region-idle-time-expiration-action=value]
[--region-time-to-live-expiration=value]
[--region-time-to-live-expiration-action=value] [--disk-store=value]
[--enable-synchronous-disk=value] [--enable-async-conflation=value]
[--enable-subscription-conflation=value] [--cache-listener=value(,value)*]
[--cache-loader=value] [--cache-writer=value]
[--async-event-queue-id=value(,value)*]
[--gateway-sender-id=value(,value)*] [--enable-concurrency-checks=value]
[--enable-cloning=value] [--concurrency-level=value]
[--colocated-with=value] [--local-max-memory=value]
[--recovery-delay=value] [--redundant-copies=value]
[--startup-recovery-delay=value] [--total-max-memory=value]
[--total-num-buckets=value] [--compressor=value] [--off-heap(=value)?]
[--partition-resolver=value] [--eviction-entry-count=value]
[--eviction-max-memory=value] [--eviction-action=value] [--eviction-object-sizer=value]
```
**Parameters, create region:**
<table>
<colgroup>
<col width="20%" />
<col width="50%" />
<col width="30%" />
</colgroup>
<thead>
<tr class="header">
<th>Name</th>
<th>Description</th>
<th>Default</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="keyword parmname">\-\-name</span></td>
<td><em>Required.</em> Name/Path of the region to be created.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-type</span></td>
<td><em>Required</em> (if template-region is not specified.) Type of region to create. Options include: PARTITION, PARTITION_REDUNDANT, REPLICATE, LOCAL, etc.
<p>To get a list of of all region type options, add the <span class="keyword parmname">\-\-type</span> parameter and then select the TAB key to display a full list.</p></td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-template-region </span></td>
<td><em>Required</em> (if type is not specified.) Name/Path of the region whose attributes should be duplicated when creating this region.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-groups</span></td>
<td>Group(s) of members on which the region will be created.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-if-not-exists</span></td>
<td>A new region will not be created if a region with the same name already exists. By default, an attempt to create a duplicate region is reported as an error.
If this option is specified without a value or is specified with a value of <code>true</code>, then gfsh displays a "Skipping..." acknowledgement, but does not throw an error.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-key-constraint</span></td>
<td>Fully qualified class name of the objects allowed as region keys. Ensures that keys for region entries are all of the same class.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-value-constraint </span></td>
<td>Fully qualified class name of the objects allowed as region values. If not specified, then region values can be of any class.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-statistics</span></td>
<td>Whether to gather statistics for the region. Must be true to use expiration on the region.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-idle-time-expiration</span></td>
<td>How long, in seconds, the region's entries can remain in the cache without being accessed.</td>
<td>no expiration</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-idle-time-expiration-action </span></td>
<td>Action to be taken on an entry that has exceeded the idle expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-time-to-live-expiration</span></td>
<td>How long, in seconds, the region's entries can remain in the cache without being accessed or updated. The default is no expiration of this type.</td>
<td>no expiration</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-time-to-live-expiration-action</span></td>
<td>Action to be taken on an entry that has exceeded the TTL expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-idle-time-custom-expiry</span></td>
<td>The name of a class implementing CustomExpiry for entry idle time. Append a JSON string for initialization properties.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-entry-time-to-live-custom-expiry</span></td>
<td>The name of a class implementing CustomExpiry for entry time to live. Append a JSON string for initialization properties.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-region-idle-time-expiration</span></td>
<td>How long, in seconds, the region can remain in the cache without its entries being accessed. The default is no expiration of this type.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-region-idle-time-expiration-action</span></td>
<td>Action to be taken on a region that has exceeded the idle expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate. The destroy and local-destroy actions destroy the region. The invalidate and local-invalidate actions leave the region in place, but invalidate all of its entries.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-region-time-to-live-expiration</span></td>
<td>How long, in seconds, the region can remain in the cache without its entries being accessed or updated. The default is no expiration of this type.</td>
<td>no expiration</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-region-time-to-live-expiration-action</span></td>
<td>Action to be taken on a region that has exceeded the TTL expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate. The destroy and local-destroy actions destroy the region. The invalidate and local-invalidate actions leave the region in place, but invalidate all of its entries.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-disk-store</span></td>
<td>Disk Store to be used by this region. The <a href="list.html#topic_BC14AD57EA304FB3845766898D01BD04">list disk-stores</a> command can be used to display existing disk stores.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-synchronous-disk</span></td>
<td>Whether writes are done synchronously for regions that persist data to disk.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-async-conflation</span></td>
<td>Whether to allow aggregation of asynchronous TCP/IP messages sent by the producer member of the region. A false value causes all asynchronous messages to be sent individually.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-subscription-conflation</span></td>
<td>Whether the server should conflate its messages to the client. A false value causes all server-client messages to be sent individually.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-cache-listener</span></td>
<td>Fully qualified class name of a plug-in to be instantiated for receiving after-event notification of changes to the region and its entries. Any number of cache listeners can be configured. A fully qualified class name may be appended with a JSON specification that will be parsed to become the fields of the parameter to the <code>init()</code> method for a class that implements the <code>Declarable</code> interface.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-cache-loader</span></td>
<td>Fully qualified class name of a plug-in to be instantiated for receiving notification of cache misses in the region. At most, one cache loader can be defined in each member for the region. For distributed regions, a cache loader may be invoked remotely from other members that have the region defined. A fully qualified class name may be appended with a JSON specification that will be parsed to become the fields of the parameter to the <code>initialize()</code> method for a class that implements the <code>Declarable</code> interface.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-cache-writer</span></td>
<td>Fully qualified class name of a plug-in to be instantiated for receiving before-event notification of changes to the region and its entries. The plug-in may cancel the event. At most, one cache writer can be defined in each member for the region. A fully qualified class name may be appended with a JSON specification that will be parsed to become the fields of the parameter to the <code>init()</code> method for a class that implements the <code>Declarable</code> interface.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-async-event-queue-id</span></td>
<td>IDs of the Async Event Queues that will be used for write-behind operations.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-gateway-sender-id</span></td>
<td>IDs of the Gateway Senders to which data will be routed.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-concurrency-checks</span></td>
<td>Whether Region Version Vectors are implemented. Region Version Vectors are an extension to the versioning scheme that aid in synchronization of replicated regions.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-enable-cloning</span></td>
<td>Determines how fromDelta applies deltas to the local cache for delta propagation. When true, the updates are applied to a clone of the value and then the clone is saved to the cache. When false, the value is modified in place in the cache.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-concurrency-level </span></td>
<td>Estimate of the maximum number of application threads that will concurrently access a region entry at one time. This attribute does not apply to partitioned regions.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-colocated-with </span></td>
<td>Central Region with which this region should be colocated.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-local-max-memory</span></td>
<td>Maximum amount of memory, in megabytes, to be used by the region in this process. (The default is 90% of available heap.)</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-recovery-delay </span></td>
<td>Delay in milliseconds that existing members will wait after a member crashes before restoring this region's redundancy on the remaining members. The default value (-1) indicates that redundancy will not be recovered after a failure.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-redundant-copies </span></td>
<td>Number of extra copies of buckets desired. Extra copies allow for both high availability in the face of VM departure (intended or unintended) and load balancing read operations. (Allowed values: 0, 1, 2 and 3)</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-startup-recovery-delay </span></td>
<td>Delay in milliseconds that new members will wait before assuming their share of cluster-level redundancy. This allows time for multiple regions to start before the redundancy workload is parceled out to the new members. A value of -1 indicates that adding new members will not trigger redundancy recovery.</td>
<td>The default is to recover redundancy immediately when a new member is added.</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-total-max-memory </span></td>
<td>Maximum amount of memory, in megabytes, to be used by the region in all processes.</td>
<td> </td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-total-num-buckets </span></td>
<td>Total number of hash buckets to be used by the region in all processes.</td>
<td>113</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-compressor</span></td>
<td>Java class name that implements compression for the region. You can write a custom compressor that implements <code class="ph codeph">org.apache.geode.compression.Compressor</code> or you can specify the Snappy compressor (<code class="ph codeph">org.apache.geode.compression.SnappyCompressor</code>), which is bundled with <%=vars.product_name%>. See <a href="../../../managing/region_compression.html">Region Compression</a>.</td>
<td>no compression</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-off-heap</span></td>
<td>Specifies whether the region values are stored in heap memory or off-heap memory. When true, region values are in off-heap memory. If the parameter is specified without a value, the value of true is used.</td>
<td>false</td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-partition-resolver</span></td>
<td>Specifies the full path to a custom partition resolver. Specify <code class="ph codeph">org.apache.geode.cache.util.StringPrefixPartitionResolver</code> to use the included string prefix partition resolver.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-eviction-entry-count</span></td>
<td>Enables eviction, where the eviction policy is based on the number of entries in the region.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-eviction-max-memory</span></td>
<td>Enables eviction, where the eviction policy is based on the amount of memory consumed by the region, specified in megabytes.</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-eviction-action</span></td>
<td>Action to take when the eviction threshold is reached.
<div class="p">
<table>
<tbody>
<tr>
<td>local-destroy</td>
<td>Entry is destroyed locally. Use with caution - may lead to inconsistencies.</td>
</tr>
<tr>
<td>overflow-to-disk</td>
<td>Entry is overflowed to disk. For partitioned regions, this provides the most reliable read behavior across the region.</td>
</tr>
</tbody>
</table>
</div>
</td>
<td></td>
</tr>
<tr>
<td><span class="keyword parmname">\-\-eviction-object-sizer</span></td>
<td>Specifies your implementation of the ObjectSizer interface to measure the size of objects in the region.
The sizer applies only to heap and memory based eviction.</td>
<td></td>
</tr>
</tbody>
</table>
**Example Commands:**
``` pre
create region --name=region1 --type=REPLICATE_PERSISTENT \
--cache-writer=org.apache.geode.examples.MyCacheWriter \
--group=Group1 --disk-store=DiskStore1
create region --name=region12 --template-region=/region1
create region --name=region2 --type=REPLICATE \
--cache-listener=org.apache.geode.examples.MyCacheListener1,\
org.apache.geode.examples.MyCacheListener2 \
--group=Group1,Group2
create region --name=region3 --type=PARTITION_PERSISTENT --redundant-copies=2 \
--total-max-memory=1000 --startup-recovery-delay=5 --total-num-buckets=100 \
--disk-store=DiskStore2 --cache-listener=org.apache.geode.examples.MyCacheListener3 \
--group=Group2
create region --name=region4 --type=REPLICATE_PROXY \
--cache-listener=org.apache.geode.examples.MyCacheListener1 --group=Group1,Group2
create region --name=myRegion --type=REPLICATE --eviction-max-memory=100 \
--eviction-action=overflow-to-disk --eviction-object-sizer=my.company.geode.MySizer
create region --name=r1 --type=PARTITION \
--cache-loader=org.example.myLoader{'URL':'jdbc:cloudscape:rmi:MyData'}
```
**Sample Output:**
``` pre
gfsh>create region --name=myRegion --type=LOCAL
Member | Status
------- | ---------------------------------------
server1 | Region "/myRegion" created on "server1"
```