Class CosmosSessionStoreOptions
java.lang.Object
com.google.genkit.plugins.azurefoundry.session.CosmosSessionStoreOptions
Configuration for
CosmosSessionStore.
The store persists all documents in a single Cosmos DB container (default database "genkit", container "genkit-sessions") partitioned by /pk (the
per-tenant prefix). Each document's id discriminates snapshot, shard, and pointer
records. All documents for a tenant share the same pk, derived from getSnapshotPathPrefix() (default "global").
The default getShardSize() is 1048576 bytes, kept safely under
the Cosmos DB 2 MB document-size limit; because the store forces a checkpoint whenever a
diff would exceed the shard size, diff documents stay bounded too.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intDefault number of turns between full checkpoints.static final StringDefault container name.static final StringDefault database name.static final longDefault subscription poll interval in milliseconds.static final intDefault shard size in bytes for checkpoint state (1 MiB, under the 2 MB document cap). -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a new builder.static CosmosSessionStoreOptionsdefaults()Returns default options.intReturns the number of turns between full checkpoints (default 25).Returns the Cosmos DB container name (default "genkit-sessions").Returns the Cosmos DB database name (default "genkit").longReturns the subscription poll interval in milliseconds (default 2000L).intReturns the shard size in bytes for checkpoint state (default 1048576).Returns the function that derives the per-tenant partition-key prefix from the per-request store options (defaulto -> "global").booleanReturns whether the store should create the database and container on first use if they do not exist (defaultfalse).
-
Field Details
-
DEFAULT_DATABASE
Default database name.- See Also:
-
DEFAULT_CONTAINER
Default container name.- See Also:
-
DEFAULT_CHECKPOINT_INTERVAL
public static final int DEFAULT_CHECKPOINT_INTERVALDefault number of turns between full checkpoints.- See Also:
-
DEFAULT_SHARD_SIZE
public static final int DEFAULT_SHARD_SIZEDefault shard size in bytes for checkpoint state (1 MiB, under the 2 MB document cap).- See Also:
-
DEFAULT_POLL_INTERVAL_MS
public static final long DEFAULT_POLL_INTERVAL_MSDefault subscription poll interval in milliseconds.- See Also:
-
-
Method Details
-
getDatabaseName
Returns the Cosmos DB database name (default "genkit").- Returns:
- the database name
-
getContainerName
Returns the Cosmos DB container name (default "genkit-sessions").- Returns:
- the container name
-
getCheckpointInterval
public int getCheckpointInterval()Returns the number of turns between full checkpoints (default 25).- Returns:
- the checkpoint interval
-
getShardSize
public int getShardSize()Returns the shard size in bytes for checkpoint state (default 1048576).- Returns:
- the shard size in bytes
-
getSnapshotPathPrefix
Returns the function that derives the per-tenant partition-key prefix from the per-request store options (defaulto -> "global").- Returns:
- the prefix function
-
isCreateIfNotExists
public boolean isCreateIfNotExists()Returns whether the store should create the database and container on first use if they do not exist (defaultfalse).- Returns:
trueif the database/container should be created when missing
-
getPollIntervalMs
public long getPollIntervalMs()Returns the subscription poll interval in milliseconds (default 2000L).- Returns:
- the poll interval in milliseconds
-
defaults
Returns default options.- Returns:
- a
CosmosSessionStoreOptionswith all defaults
-
builder
Creates a new builder.- Returns:
- a new builder
-