Class OffloadPoliciesImpl
java.lang.Object
org.apache.pulsar.common.policies.data.OffloadPoliciesImpl
- All Implemented Interfaces:
Serializable
,OffloadPolicies
Definition of the offload policies.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.pulsar.common.policies.data.OffloadPolicies
OffloadPolicies.Builder
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
static final int
static final Long
static final int
static final int
static final Long
static final Long
static final OffloadedReadPriority
static final String
static final int
static final String
static final com.google.common.collect.ImmutableList<String>
static final String
static final com.google.common.collect.ImmutableList<String>
static final String
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
builder()
void
compatibleWithBrokerConfigFile
(Properties properties) static OffloadPoliciesImpl
create
(String driver, String region, String bucket, String endpoint, String role, String roleSessionName, String credentialId, String credentialSecret, Integer maxBlockSizeInBytes, Integer readBufferSizeInBytes, Long offloadThresholdInBytes, Long offloadThresholdInSeconds, Long offloadDeletionLagInMillis, OffloadedReadPriority readPriority) static OffloadPoliciesImpl
create
(Properties properties) boolean
static String
boolean
boolean
boolean
static OffloadPoliciesImpl
mergeConfiguration
(OffloadPoliciesImpl topicLevelPolicies, OffloadPoliciesImpl nsLevelPolicies, Properties brokerProperties) Merge different level offload policies.static OffloadPoliciesImpl
oldPoliciesCompatible
(OffloadPoliciesImpl nsLevelPolicies, Policies policies) This method is used to make a compatible with old policies.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.pulsar.common.policies.data.OffloadPolicies
getFileSystemProfilePath, getFileSystemURI, getGcsManagedLedgerOffloadBucket, getGcsManagedLedgerOffloadMaxBlockSizeInBytes, getGcsManagedLedgerOffloadReadBufferSizeInBytes, getGcsManagedLedgerOffloadRegion, getGcsManagedLedgerOffloadServiceAccountKeyFile, getManagedLedgerOffloadBucket, getManagedLedgerOffloadDeletionLagInMillis, getManagedLedgerOffloadDriver, getManagedLedgerOffloadedReadPriority, getManagedLedgerOffloadMaxBlockSizeInBytes, getManagedLedgerOffloadMaxThreads, getManagedLedgerOffloadPrefetchRounds, getManagedLedgerOffloadReadBufferSizeInBytes, getManagedLedgerOffloadRegion, getManagedLedgerOffloadServiceEndpoint, getManagedLedgerOffloadThresholdInBytes, getManagedLedgerOffloadThresholdInSeconds, getOffloadersDirectory, getS3ManagedLedgerOffloadBucket, getS3ManagedLedgerOffloadCredentialId, getS3ManagedLedgerOffloadCredentialSecret, getS3ManagedLedgerOffloadMaxBlockSizeInBytes, getS3ManagedLedgerOffloadReadBufferSizeInBytes, getS3ManagedLedgerOffloadRegion, getS3ManagedLedgerOffloadRole, getS3ManagedLedgerOffloadRoleSessionName, getS3ManagedLedgerOffloadServiceEndpoint
-
Field Details
-
CONFIGURATION_FIELDS
-
INTERNAL_SUPPORTED_DRIVER
-
DRIVER_NAMES
-
DEFAULT_MAX_BLOCK_SIZE_IN_BYTES
public static final int DEFAULT_MAX_BLOCK_SIZE_IN_BYTES- See Also:
-
DEFAULT_READ_BUFFER_SIZE_IN_BYTES
public static final int DEFAULT_READ_BUFFER_SIZE_IN_BYTES- See Also:
-
DEFAULT_OFFLOAD_MAX_THREADS
public static final int DEFAULT_OFFLOAD_MAX_THREADS- See Also:
-
DEFAULT_OFFLOAD_MAX_PREFETCH_ROUNDS
public static final int DEFAULT_OFFLOAD_MAX_PREFETCH_ROUNDS- See Also:
-
DEFAULT_OFFLOADER_DIRECTORY
- See Also:
-
DEFAULT_OFFLOAD_THRESHOLD_IN_BYTES
-
DEFAULT_OFFLOAD_THRESHOLD_IN_SECONDS
-
DEFAULT_OFFLOAD_DELETION_LAG_IN_MILLIS
-
EXTRA_CONFIG_PREFIX
- See Also:
-
OFFLOAD_THRESHOLD_NAME_IN_CONF_FILE
- See Also:
-
DELETION_LAG_NAME_IN_CONF_FILE
- See Also:
-
DATA_READ_PRIORITY_NAME_IN_CONF_FILE
- See Also:
-
DEFAULT_OFFLOADED_READ_PRIORITY
-
-
Constructor Details
-
OffloadPoliciesImpl
public OffloadPoliciesImpl()
-
-
Method Details
-
create
public static OffloadPoliciesImpl create(String driver, String region, String bucket, String endpoint, String role, String roleSessionName, String credentialId, String credentialSecret, Integer maxBlockSizeInBytes, Integer readBufferSizeInBytes, Long offloadThresholdInBytes, Long offloadThresholdInSeconds, Long offloadDeletionLagInMillis, OffloadedReadPriority readPriority) -
create
-
builder
-
compatibleWithBrokerConfigFile
-
driverSupported
public boolean driverSupported() -
getSupportedDriverNames
-
isS3Driver
public boolean isS3Driver() -
isGcsDriver
public boolean isGcsDriver() -
isFileSystemDriver
public boolean isFileSystemDriver() -
bucketValid
public boolean bucketValid() -
toProperties
-
oldPoliciesCompatible
public static OffloadPoliciesImpl oldPoliciesCompatible(OffloadPoliciesImpl nsLevelPolicies, Policies policies) This method is used to make a compatible with old policies.The filed
Policies.offload_threshold
is primitive, so it can't be known whether it had been set. In the old logic, if the field value is -1, it could be thought that the field had not been set.- Parameters:
nsLevelPolicies
- namespace level offload policiespolicies
- namespace policies- Returns:
- offload policies
-
mergeConfiguration
public static OffloadPoliciesImpl mergeConfiguration(OffloadPoliciesImpl topicLevelPolicies, OffloadPoliciesImpl nsLevelPolicies, Properties brokerProperties) Merge different level offload policies.policies level priority: topic > namespace > broker
- Parameters:
topicLevelPolicies
- topic level offload policiesnsLevelPolicies
- namespace level offload policiesbrokerProperties
- broker level offload configuration- Returns:
- offload policies
-