23.37. Class PartitionTable

Namespace: ArmoniK.Core.Adapters.MongoDB
Assembly: ArmoniK.Core.Adapters.MongoDB.dll

Interface to manage partitions and their life cycle in the data base

public class PartitionTable : BaseTable<PartitionData, PartitionDataModelMapping>, IPartitionTable, IInitializable, IHealthCheckProvider

23.37.1. Inheritance

objectBaseTable<PartitionData, PartitionDataModelMapping>PartitionTable

23.37.2. Implements

IPartitionTable, IInitializable, IHealthCheckProvider

23.37.3. Inherited Members

BaseTable<PartitionData, PartitionDataModelMapping>.Logger, BaseTable<PartitionData, PartitionDataModelMapping>.Init(CancellationToken), BaseTable<PartitionData, PartitionDataModelMapping>.Check(HealthCheckTag), BaseTable<PartitionData, PartitionDataModelMapping>.GetCollection(), BaseTable<PartitionData, PartitionDataModelMapping>.GetReadCollection(), BaseTable<PartitionData, PartitionDataModelMapping>.StartActivity(string), BaseTable<PartitionData, PartitionDataModelMapping>.GetSession(), object.Equals(object?), object.Equals(object?, object?), object.GetHashCode(), object.GetType(), object.MemberwiseClone(), object.ReferenceEquals(object?, object?), object.ToString()

23.37.4. Constructors

23.37.4.1. PartitionTable(SessionProvider, MongoCollectionProvider<PartitionData, PartitionDataModelMapping>, ActivitySource, ILogger<PartitionTable>)

public PartitionTable(SessionProvider sessionProvider, MongoCollectionProvider<PartitionData, PartitionDataModelMapping> partitionCollectionProvider, ActivitySource activitySource, ILogger<PartitionTable> logger)

23.37.4.1.1. Parameters

sessionProvider SessionProvider

partitionCollectionProvider MongoCollectionProvider<PartitionData, PartitionDataModelMapping>

activitySource ActivitySource

logger ILogger<PartitionTable>

23.37.5. Properties

23.37.5.1. Secondary

Table targeting a secondary server for read operations

public IPartitionTable Secondary { get; }

23.37.5.1.1. Property Value

IPartitionTable

23.37.6. Methods

23.37.6.1. ArePartitionsExistingAsync(IEnumerable<string>, CancellationToken)

Check the availability of the given partitions in the data base

public Task<bool> ArePartitionsExistingAsync(IEnumerable<string> partitionIds, CancellationToken cancellationToken = default)

23.37.6.1.1. Parameters

partitionIds IEnumerable<string>

Collection of partition ids

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.1.2. Returns

Task<bool>

A bool representing whether all the partitions are available

23.37.6.2. CreatePartitionsAsync(IEnumerable<PartitionData>, CancellationToken)

Inserts a collection of partitions in the data base

public Task CreatePartitionsAsync(IEnumerable<PartitionData> partitions, CancellationToken cancellationToken = default)

23.37.6.2.1. Parameters

partitions IEnumerable<PartitionData>

Collection of partitions to be inserted

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.2.2. Returns

Task

Task representing the asynchronous execution of the method

23.37.6.3. DeletePartitionAsync(string, CancellationToken)

Remove a partition from the data base given its id

public Task DeletePartitionAsync(string partitionId, CancellationToken cancellationToken = default)

23.37.6.3.1. Parameters

partitionId string

Id of the partition to be deleted

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.3.2. Returns

Task

Task representing the asynchronous execution of the method

23.37.6.3.3. Exceptions

PartitionNotFoundException

required partition is not found

23.37.6.4. FindPartitionsAsync<T>(Expression<Func<PartitionData, bool>>, Expression<Func<PartitionData, T>>, CancellationToken)

Find all partitions matching the given filter

public IAsyncEnumerable<T> FindPartitionsAsync<T>(Expression<Func<PartitionData, bool>> filter, Expression<Func<PartitionData, T>> selector, CancellationToken cancellationToken = default)

23.37.6.4.1. Parameters

filter Expression<Func<PartitionData, bool>>

Filter to select partitions

selector Expression<Func<PartitionData, T>>

Expression to select part of the returned partition

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.4.2. Returns

IAsyncEnumerable<T>

List of partitions that match the filter

23.37.6.4.3. Type Parameters

T

23.37.6.5. GetPartitionWithAllocationAsync(CancellationToken)

Gets partitions that are pod allocated to it (PodMax > 0)

public IAsyncEnumerable<PartitionData> GetPartitionWithAllocationAsync(CancellationToken cancellationToken = default)

23.37.6.5.1. Parameters

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.5.2. Returns

IAsyncEnumerable<PartitionData>

Collection of partitions respecting the request

23.37.6.6. ListPartitionsAsync(Expression<Func<PartitionData, bool>>, Expression<Func<PartitionData, object?>>, bool, int, int, CancellationToken)

List all partitions matching the given filter and ordering

public Task<(IEnumerable<PartitionData> partitions, int totalCount)> ListPartitionsAsync(Expression<Func<PartitionData, bool>> filter, Expression<Func<PartitionData, object?>> orderField, bool ascOrder, int page, int pageSize, CancellationToken cancellationToken = default)

23.37.6.6.1. Parameters

filter Expression<Func<PartitionData, bool>>

Filter to select partitions

orderField Expression<Func<PartitionData, object?>>

Select the field that will be used to order the partitions

ascOrder bool

Is the order ascending

page int

The page of results to retrieve

pageSize int

The number of results pages

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.6.2. Returns

Task<(IEnumerable<PartitionData> partitions, int totalCount)>

Collection of partition metadata matching the request and total number of results without paging

23.37.6.6.3. Remarks

If pageSize is 0, this function can be used to count the number of partitions satisfying the condition specified by filter

23.37.6.7. ReadPartitionAsync(string, CancellationToken)

Retrieves a partition from the data base

public Task<PartitionData> ReadPartitionAsync(string partitionId, CancellationToken cancellationToken = default)

23.37.6.7.1. Parameters

partitionId string

Id of the partition to read

cancellationToken CancellationToken

Token used to cancel the execution of the method

23.37.6.7.2. Returns

Task<PartitionData>

Task metadata of the retrieved partition

23.37.6.7.3. Exceptions

PartitionNotFoundException

required partition is not found