| .. 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. |
| |
| .. _cache_props: |
| |
| ================ |
| Cache Properties |
| ================ |
| |
| The :mod:`~pyignite.datatypes.prop_codes` module contains a list of ordinal |
| values, that represent various cache settings. |
| |
| Please refer to the `Configuring Caches`_ documentation on cache |
| synchronization, rebalance, affinity and other cache configuration-related |
| matters. |
| |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | Property | Ordinal | Property | Description | |
| | name | value | type | | |
| +=======================================+==========+============================================================+=======================================================+ |
| | Read/write cache properties, used to configure cache via :py:meth:`~pyignite.client.Client.create_cache` or | |
| | :py:meth:`~pyignite.client.Client.get_or_create_cache` of :py:class:`~pyignite.client.Client` | |
| | (:py:meth:`~pyignite.aio_client.AioClient.create_cache` or | |
| | :py:meth:`~pyignite.aio_client.AioClient.get_or_create_cache` of :py:class:`~pyignite.aio_client.AioClient`). | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_NAME | 0 | str | Cache name. This is the only *required* property. | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_CACHE_MODE | 1 | int | Cache mode: LOCAL=0, REPLICATED=1, PARTITIONED=2 | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_CACHE_ATOMICITY_MODE | 2 | int | Cache atomicity mode: TRANSACTIONAL=0, ATOMIC=1 | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_BACKUPS_NUMBER | 3 | int | Number of backups | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_WRITE_SYNCHRONIZATION_MODE | 4 | int | Write synchronization mode: FULL_SYNC=0, | |
| | | | | FULL_ASYNC=1, PRIMARY_SYNC=2 | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_COPY_ON_READ | 5 | bool | Copy-on-read | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_READ_FROM_BACKUP | 6 | bool | Read from backup | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_DATA_REGION_NAME | 100 | str | Data region name | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_IS_ONHEAP_CACHE_ENABLED | 101 | bool | Is OnHeap cache enabled? | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_QUERY_ENTITIES | 200 | list | A list of query entities (see `Query entity`_) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_QUERY_PARALLELISM | 201 | int | Query parallelism | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_QUERY_DETAIL_METRIC_SIZE | 202 | int | Query detail metric size | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_SQL_SCHEMA | 203 | str | SQL schema | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_SQL_INDEX_INLINE_MAX_SIZE | 204 | int | SQL index inline maximum size | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_SQL_ESCAPE_ALL | 205 | bool | Turns on SQL escapes | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_MAX_QUERY_ITERATORS | 206 | int | Maximum number of query iterators | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_MODE | 300 | int | Rebalance mode: SYNC=0, ASYNC=1, NONE=2 | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_DELAY | 301 | int | Rebalance delay (ms) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_TIMEOUT | 302 | int | Rebalance timeout (ms) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_BATCH_SIZE | 303 | int | Rebalance batch size | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_BATCHES_PREFETCH_COUNT | 304 | int | Rebalance batches prefetch count | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_ORDER | 305 | int | Rebalance order | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_REBALANCE_THROTTLE | 306 | int | Rebalance throttle (ms) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_GROUP_NAME | 400 | str | Group name | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_CACHE_KEY_CONFIGURATION | 401 | list | Cache key configuration (see `Cache key`_) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_DEFAULT_LOCK_TIMEOUT | 402 | int | Default lock timeout (ms) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_MAX_CONCURRENT_ASYNC_OPERATIONS | 403 | int | Maximum number of concurrent asynchronous operations | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_PARTITION_LOSS_POLICY | 404 | int | Partition loss policy: READ_ONLY_SAFE=0, | |
| | | | | READ_ONLY_ALL=1, READ_WRITE_SAFE=2, READ_WRITE_ALL=3, | |
| | | | | IGNORE=4 | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_EAGER_TTL | 405 | bool | Eager TTL | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_STATISTICS_ENABLED | 406 | bool | Statistics enabled | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| | PROP_EXPIRY_POLICY | 407 | :py:class:`~pyignite.datatypes.expiry_policy.ExpiryPolicy` | Set expiry policy (see `Expiry policy`_) | |
| +---------------------------------------+----------+------------------------------------------------------------+-------------------------------------------------------+ |
| |
| Query entity |
| ------------ |
| |
| A dict with all ot the following keys: |
| |
| - `table_name`: SQL table name, |
| - `key_field_name`: name of the key field, |
| - `key_type_name`: name of the key type (Java type or complex object), |
| - `value_field_name`: name of the value field, |
| - `value_type_name`: name of the value type, |
| - `field_name_aliases`: a list of 0 or more dicts of aliases |
| (see `Field name alias`_), |
| - `query_fields`: a list of 0 or more query field names (see `Query field`_), |
| - `query_indexes`: a list of 0 or more query indexes (see `Query index`_). |
| |
| Field name alias |
| ================ |
| |
| - `field_name`: field name, |
| - `alias`: alias (str). |
| |
| Query field |
| =========== |
| |
| - `name`: field name, |
| - `type_name`: name of Java type or complex object, |
| - `is_key_field`: (optional) boolean value, `False` by default, |
| - `is_notnull_constraint_field`: boolean value, |
| - `default_value`: (optional) anything that can be converted to `type_name` |
| type. `None` (:py:class:`~pyignite.datatypes.null_object.Null`) by default, |
| - `precision` − (optional) decimal precision: total number of digits |
| in decimal value. Defaults to -1 (use cluster default). Ignored for |
| non-decimal SQL types (other than `java.math.BigDecimal`), |
| - `scale` − (optional) decimal precision: number of digits after the decimal |
| point. Defaults to -1 (use cluster default). Ignored for non-decimal SQL |
| types. |
| |
| Query index |
| =========== |
| |
| - `index_name`: index name, |
| - `index_type`: index type code as an integer value in unsigned byte range, |
| - `inline_size`: integer value, |
| - `fields`: a list of 0 or more indexed fields (see `Fields`_). |
| |
| Fields |
| ====== |
| |
| - `name`: field name, |
| - `is_descending`: (optional) boolean value, `False` by default. |
| |
| Cache key |
| --------- |
| |
| A dict of the following format: |
| |
| - `type_name`: name of the complex object, |
| - `affinity_key_field_name`: name of the affinity key field. |
| |
| .. _Configuring Caches: https://ignite.apache.org/docs/latest/configuring-caches/configuration-overview.html |
| |
| Expiry policy |
| ------------- |
| |
| Set expiry policy to cache (see :py:class:`~pyignite.datatypes.expiry_policy.ExpiryPolicy`). If set to `None`, |
| expiry policy will not be set. |