create

create

Create async-event-queues, disk-stores, indexes, and regions.

create async-event-queue

Creates an asynchronous event queue for batching events.

Availability: Online. You must be connected in gfsh to a JMX Manager member to use this command.

Syntax:
create async-event-queue --id=value --listener=value [--group=value(nullvalue)*]
    [--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]
    [--listener-param=value(,value)*]
Table 1. Parameters
Name Description Default Value
--id Required. ID of the asynchronous event queue  
--group The queue is created on all members of this group. If you do not specify a group the queue is created on all members.  
--parallel Specifies whether the queue is parallel. false
--enable-batch-conflation Enables batch conflation. false
--batch-size Maximum number of messages that a batch can contain. 100
--batch-time-interval Maximum amount of time, in ms, that can elapse before a batch is delivered. 5
--persistent Boolean value that determines whether GemFire persists this queue. false

If specified with out a value, default is true.

--disk-store 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, GemFire uses the default disk store for overflow and queue persistence.  
--disk-synchronous Specifies whether disk writes are synchronous. true
--max-queue-memory Maximum amount of memory in megabytes that the queue can consume before overflowing to disk. 100
--dispatcher-threads Number of threads used for sending events. 5
--order-policy Policy for dispatching events when --dispatcher-threads is > 1. Possible values are THREAD, KEY, PARTITION. KEY
--listener Required. Fully-qualified class name of Async Event Listener for this queue  
--listener-param 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:
--listener-param=myParam#24
 
Example Commands:
create async-event-queue --id=myAEQ --listener=myApp.myListener

create defined indexes

Creates all the defined indexes.

See also define index and clear defined indexes.

Availability: Online. You must be connected in gfsh to a JMX Manager member to use this command.

Syntax:
create defined indexes [--member=value] [--group=value]
Table 2. Parameters
Name Description Default
--member Name/Id of the member on which index will be created.  
--group The index will be created on all the members in this member group.  
Example Commands:
create defined indexes
Sample Output:
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:
gfsh>create defined indexes
Exception : com.gemstone.gemfire.cache.query.RegionNotFoundException , 
Message : Region ' /r3' not found: from  /r3Occurred on following members
1. india(s1:17866)<v1>:27809

create disk-store

Defines a pool of one or more disk stores, which can be used by regions and client subscription queues.

See Disk Storage

Availability: Online. You must be connected in gfsh to a JMX Manager member to use this command.

Syntax:
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] [--group=value(,value)*] 
[--disk-usage-warning-percentage=value] [--disk-usage-critical-percentage=value]

Table 3. Parameters
Name Description Default Value
--name Required. The name of this disk store.  
--dir Required. One or more directory names where the disk store files are written. Optionally, directory names may be followed by # and the maximum number of megabytes that the disk store can use in the directory. For example:
--dir=/data/ds1 
--dir=/data/ds2#5000
If the specified directory does not exist, the command will create the directory for you.
 
--allow-force-compaction Set to true to allow disk compaction to be forced on this disk store. false
--auto-compact Set to true to automatically compact the disk files. true
--compaction-threshold Percentage of garbage allowed before the disk store is eligible for compaction. 50
--max-oplog-size Maximum size, in megabytes, for an oplog file. When the oplog file reaches this size, the file is rolled over to a new file. 1024
--queue-size Maximum number of operations that can be asynchronously queued to be written to disk. 0
--time-interval The number of milliseconds that can elapse before unwritten data is written to disk. 1000
--group The name of a group of distributed system members. The disk store is created on all members of this group. If no group is specified, the disk store is created on all members.  
--write-buffer-size 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. 32768
--disk-usage-warning-percentage 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.

Set to "0" (zero) to disable.

90
--disk-usage-critical-percentage 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.

Set to "0" (zero) to disable.

99
Example Commands:
create disk-store --name-store1 --dir=/data/ds1

Sample Output:

gfsh>create disk-store --name-store1 --dir=/data/ds1
Member  | Result
------- | -------
server1 | Success

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.

Syntax:
create index --name=value --expression=value --region=value 
[--member=value] [--type=value] [--group=value]
Table 4. Parameters
Name Description Default
--name Required. Name of the index to create.  
--expression Required. Field of the region values that are referenced by the index.  
--region Required. Name/Path of the region which corresponds to the "from" clause in a query.  
--member Name/Id of the member on which index will be created.  
--type Type of the index. Valid values are: range, key and hash. range
--group The index will be created on all the members in this member group.  
Example Commands:
create index --name=myKeyIndex --expression=region1.Id --region=region1 --type=key
Sample Output:
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

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.

Availability: Online. You must be connected in gfsh to a JMX Manager member to use this command.

Syntax:
 create region --name=value [--type=value] [--template-region=value]
    [--group=value(,value)*] [--skip-if-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-expiriation-action=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]
Table 5. Parameters
Name Description Default
--name Required. Name/Path of the region to be created.  
--type Required (if template-region is not specified.) Type of region to create. Options include: PARTITION, PARTITION_REDUNDANT, REPLICATE, LOCAL, etc.

To get a list of of all region type options, add the --type parameter and then select the TAB key to display a full list.

 
--template-region Required (if type is not specified.) Name/Path of the region whose attributes should be duplicated when creating this region.  
--group Group(s) of members on which the region will be created.  
--skip-if-exists Skip region creation if the region already exists. If the parameter is specified without a value, the value is set to true. If the parameter is not specified, the value (default) is false. true
--key-constraint Fully qualified class name of the objects allowed as region keys. Ensures that keys for region entries are all of the same class.  
--value-constraint Fully qualified class name of the objects allowed as region values. If not specified, then region values can be of any class.  
--enable-statistics Whether to gather statistics for the region. Must be true to use expiration on the region.  
--entry-idle-time-expiration How long the region's entries can remain in the cache without being accessed. no expiration
--entry-idle-time-expiration-action Action to be taken on an entry that has exceeded the idle expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.  
--entry-time-to-live-expiration How long the region's entries can remain in the cache without being accessed or updated. The default is no expiration of this type. no expiration
--entry-time-to-live-expiration-action Action to be taken on an entry that has exceeded the TTL expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.  
--region-idle-time-expiration How long the region can remain in the cache without being accessed. The default is no expiration of this type. no expiration
--region-idle-time-expiration-action Action to be taken on a region that has exceeded the idle expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.  
--region-time-to-live-expiration How long the region can remain in the cache without being accessed or updated. The default is no expiration of this type. no expiration
--region-time-to-live-expiration-action Action to be taken on a region that has exceeded the TTL expiration. Valid expiration actions include destroy, local-destroy, invalidate (default), local-invalidate.  
--disk-store Disk Store to be used by this region. The list disk-stores command can be used to display existing disk stores.  
--enable-synchronous-disk Whether writes are done synchronously for regions that persist data to disk.  
--enable-async-conflation 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.  
--enable-subscription-conflation Whether the server should conflate its messages to the client. A false value causes all server-client messages to be sent individually.  
--cache-listener 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.  
--cache-loader 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.  
--cache-writer 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.  
--async-event-queue-id IDs of the Async Event Queues that will be used for write-behind operations.  
--enable-concurrency-checks Whether Region Version Vectors are implemented. Region Version Vectors are an extension to the versioning scheme that aid in synchronization of replicated regions.  
--enable-cloning 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.  
--concurrency-level 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.  
--colocated-with Central Region with which this region should be colocated.  
--local-max-memory Maximum amount of memory, in megabytes, to be used by the region in this process. (The default is 90% of available heap.)  
--recovery-delay Delay in milliseconds that existing members will wait before satisfying redundancy after another member crashes. The default (value of -1) indicates that redundancy will not be recovered after a a failure.  
--redundant-copies 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)  
--startup-recovery-delay Delay in milliseconds that new members will wait before satisfying redundancy. -1 indicates that adding new members will not trigger redundancy recovery. The default is to recover redundancy immediately when a new member is added.
--total-max-memory Maximum amount of memory, in megabytes, to be used by the region in all processes.  
--total-num-buckets Total number of hash buckets to be used by the region in all processes. 113
--compressor Java class name that implements compression for the region. You can write a custom compressor that implements com.gemstone.gemfire.compression.Compressor or you can specify the Snappy compressor (com.gemstone.gemfire.compression.SnappyCompressor), which is bundled with GemFire. See Region Compression. no compression
Example Commands:
create region --name=region1 --type=REPLICATE_PERSISTENT \
--cache-writer=com.gemstone.gemfire.examples.MyCacheWriter \
--group=Group1 --disk-store=DiskStore1

create region --name=region12 --template-region=/region1

create region --name=region2 --type=REPLICATE \
--cache-listener=com.gemstone.gemfire.examples.MyCacheListener1,\
com.gemstone.gemfire.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=com.gemstone.gemfire.examples.MyCacheListener3 \
--group=Group2 

create region --name=region4 --type=REPLICATE_PROXY --cache-listener=com.gemstone.gemfire.examples.MyCacheListener1 
--group=Group1,Group2
Sample Output:
gfsh>create region --name=myRegion --type=LOCAL
Member  | Status
------- | ---------------------------------------
server1 | Region "/myRegion" created on "server1"