'The maximum number of entity groups that can be represented in one rpc.
For a non-transactional operation that involves more entity groups than the
maximum, the operation will be performed by executing multiple, asynchronous
rpcs to the datastore, each of which has no more entity groups represented
than the maximum.  So, if a put() operation has 8 entity groups and the
maximum is 3, we will send 3 rpcs, 2 with 3 entity groups and 1 with 2
entity groups.  This is a performance optimization - in many cases
multiple, small, concurrent rpcs will finish faster than a single large
rpc.  The optimal value for this property will be application-specific, so
experimentation is encouraged.'

@ConfigOption
def max_entity_groups_per_rpc(value):

    if (not (isinstance(value, (int, long)) and (value > 0))):
        raise datastore_errors.BadArgumentError('max_entity_groups_per_rpc    should    be    a    positive    integer')
    return value
