@Generated(value="config_generator.py") public class PgxConfig extends AbstractPgxConfig
Modifier and Type | Class and Description |
---|---|
static class |
PgxConfig.Field
Fields of PGX Engine Config
|
ENV_SEPARATOR, ENV_VARIABLE_PREFIX, SYSTEM_PROPERTY_PREFIX
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object obj) |
java.lang.Integer |
getAdminRequestCacheTimeout()
after how many seconds admin request results get removed from the cache.
|
java.util.List<java.lang.String> |
getAllowedRemoteLoadingLocations()
(This option may reduce security, use it only if you know what you are doing!) Allow loading graphs into the PGX engine from remote locations.
|
java.util.List<AuthorizationEntityConfig> |
getAuthorization()
mapping of users and roles to resources and permissions for authorization
|
java.util.List<PgxConfig.Field> |
getBackendFields() |
java.lang.String |
getBackendWrapper()
Only for internal use.
|
BasicSchedulerConfig |
getBasicSchedulerConfig()
configuration parameters for the fork join pool backend
|
java.lang.Integer |
getBfsIterateQueTaskSize()
task size for BFS iterate QUE phase
|
java.lang.Double |
getBfsThresholdParentReadBased()
threshold of BFS traversal level items above which to switch to parent-read-based visiting strategy
|
java.lang.Integer |
getBfsThresholdReadBased()
threshold of BFS traversal level items above which to switch to read-based visiting strategy
|
java.lang.Integer |
getBfsThresholdSingleThreaded()
until what number of BFS traversal level items vertices are visited single-threaded
|
java.lang.String |
getBuiltinsPath()
Path to the builtin algorithms directory.
|
java.lang.String |
getCharacterSet()
standard charset to use throughout PGX, UTF-8 will be used as default.
|
java.lang.Integer |
getCniDiffFactorDefault()
default diff factor value used in the common neighbor iterator implementations.
|
java.lang.Integer |
getCniSmallDefault()
default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.
|
java.lang.Integer |
getCniStopRecursionDefault()
default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.
|
java.lang.String |
getCommonLogConfigure()
Path to a log configuration in Log4j2 (version 2) syntax.
|
static PgxConfig.Field[] |
getConfigFields() |
DataMemoryLimitsConfig |
getDataMemoryLimits()
memory limits configuration parameters
|
java.lang.String |
getDebugServer()
Hostname of the debug server.
|
java.lang.Integer |
getDfsThresholdLarge()
value that determines at which number of visited vertices the DFS implementation will switch to data-structures that are more optimized for larger numbers of vertices.
|
EnterpriseSchedulerConfig |
getEnterpriseSchedulerConfig()
configuration parameters for the enterprise scheduler
|
EnterpriseSchedulerFlagsConfig |
getEnterpriseSchedulerFlags()
[relevant for enterprise_scheduler] enterprise scheduler specific settings.
|
java.lang.String |
getExecutablePath()
Path to the PGX.D executable.
|
java.util.List<java.lang.String> |
getExistingHostnames()
A list of names or IP addresses of hosts that are already part of an existing PGX.D cluster.
|
java.util.List<AuthorizationLocationConfig> |
getFileLocations()
the file-locations that can be used in the authorization-config
|
java.lang.Integer |
getGhostMaxNodeCounts()
The maximum number of ghost vertices for each graph.
|
java.lang.Integer |
getGhostMinNeighbors()
The minimum number of neighbors a vertex must have in order to be made a ghost (which is a vertex replicated on every machine).
|
Compiler |
getGraphAlgorithmLanguage()
Frontend compiler to use.
|
GraphValidationLevel |
getGraphValidationLevel()
level of validation performed on newly loaded or created graphs
|
java.lang.Integer |
getHandshakePort()
a TCP port which will be used for handshaking of distributed backend processes.
|
java.util.List<java.lang.String> |
getHostnames()
A list of names or IP addresses of hosts which should be involved in initial bootstrapping of a PGX.D cluster.
|
java.lang.String |
getIfEthernet()
IP network interface, used to initialize the network transport layer when using IP (Internet Protocol).
|
java.lang.String |
getIfInfiniband()
InfiniBand network interface, used to initialize the network transport layer when using InfiniBand.
|
UpdateConsistencyModel |
getInPlaceUpdateConsistencyModel()
Consistency model used when in-place updates occur.
|
java.lang.String |
getInstanceName()
Instance name sent as label to debug server.
|
java.lang.Integer |
getIntervalToPollMax()
Exponential backoff upper bound (in ms) to which -once reached, the job status polling interval is fixed
|
java.lang.String |
getJavaClassPath()
Path to required java libraries.
|
java.lang.String |
getJavaHomeDir()
The path to Java's home directory.
|
java.lang.Integer |
getLargeArrayThreshold()
threshold when the size of an array is too big to use a normal Java array.
|
java.lang.Integer |
getLargeBufCount()
Number of large buffers populated in the pool.
|
java.lang.Integer |
getLargeBufSizeKb()
Size in kB of the large buffers.
|
java.util.Map<java.lang.String,java.lang.Object> |
getLeftoverValues()
Gets the values that do not belong to any field.
|
java.lang.String |
getLogConfigure()
Path to a log configuration in Log4j (version 1) syntax.
|
java.lang.String |
getLogStdRedirect()
Path to a log file into which the standard output streams (stdout, stderr) of PGX.D backend should be redirected.
|
java.lang.Integer |
getMaxActiveSessions()
the maximum number of sessions allowed to be active at a time
|
java.lang.Integer |
getMaxDistinctStringsPerPool()
[only relevant if string_pooling_strategy is indexed] amount of distinct strings per property after which to stop pooling.
|
java.lang.Long |
getMaxHttpClientRequestSize()
maximum size in bytes of any http request sent to to the PGX server over the REST API.
|
java.lang.Integer |
getMaxOffHeapSize()
maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown.
|
java.lang.Integer |
getMaxQueueSizePerSession()
the maximum number of pending tasks allowed to be in the queue, per session.
|
java.lang.Integer |
getMaxSnapshotCount()
Number of snapshots that may be loaded in the engine at the same time.
|
MemoryAllocationStrategy |
getMemoryAllocator()
which memory allocator to use
|
java.lang.Integer |
getMemoryCleanupInterval()
memory cleanup tick in seconds
|
java.lang.Double |
getMinArrayCompactionThreshold()
[only relevant for graphs optimized for updates] minimum value that can be used for the array_compaction_threshold value in graph configuration.
|
java.lang.Integer |
getMinFetchIntervalSec()
(only relevant if the graph format supports delta updates) for delta-refresh, the lowest interval at which a graph source is queried for changes.
|
java.lang.Integer |
getMinUpdateIntervalSec()
for auto-refresh, the lowest interval after which a new snapshot is created, either by reloading the entire graph or if the format supports delta-updates, out of the cached changes (only relevant if the format supports delta updates).
|
FrontierTypeStrategy |
getMsBfsFrontierTypeStrategy()
the type strategy to use for MS-BFS frontiers
|
java.lang.Integer |
getNumSpinLocks()
how many spin locks each generated app will create at instantiation.
|
java.lang.Integer |
getParallelism()
number of worker threads to be used in thread pool.
|
java.lang.String |
getPartitioningStrategy()
Partitioning strategy of the vertices of the graph.
|
java.lang.Integer |
getPatternMatchingSupernodeCacheThreshold()
minimum number of a node's neighbor to be a supernode.
|
RealmConfig |
getPgxRealm()
configuration parameters for the realm
|
java.lang.String |
getPgxServerBaseUrl()
should be used when deploying pgx server behind a load balancer to make clients before 21.3 backward compatible, the value should be set to the load balancer address
|
java.lang.Double |
getPoolingFactor()
[only relevant if string_pooling_strategy is on_heap] this value prevents the string pool to grow as big as the property size which could render the pooling ineffective
|
java.util.List<PreloadGraphConfig> |
getPreloadGraphs()
list of graph configs to be registered at start-up.
|
java.lang.Integer |
getProcId()
Internal unique machine identifier in the cluster.
|
RandomGeneratorStrategy |
getRandomGeneratorStrategy()
method of generating random numbers in pgx
|
java.lang.Long |
getRandomSeed()
[relevant for deterministic random number generator only] seed for the deterministic random number generator used in pgx.
|
java.lang.Double |
getReadinessMemoryUsageRatio()
memory limit ratio that should be considered to detect if PGX server is ready, used by isReady API, default value is 1.0
|
java.lang.Double |
getReleaseMemoryThreshold()
threshold percentage of used memory after which the engine starts freeing un-used graphs.
|
java.lang.Integer |
getResourceMonitor()
Frequency at which to send resource statistics to the debug server, in ms.
|
java.lang.Integer |
getRevisitThreshold()
maximum number of matched results from a node to be cached
|
java.lang.Double |
getRunningMemoryUsageRatio()
memory limit ratio that should be considered to detect if PGX server is running, used by isRunning API default value is 1.0
|
SchedulerStrategy |
getScheduler()
which scheduler to use.
|
java.lang.String |
getSecureHandshakeSecretFile()
the file path of the secret in
pkcs12 format. |
java.lang.Integer |
getSessionIdleTimeoutSecs()
timeout of idling sessions in seconds.
|
java.lang.Integer |
getSessionTaskTimeoutSecs()
timeout to interrupt long-running tasks submitted by sessions (algorithms, I/O tasks) in seconds.
|
java.lang.Integer |
getSmallTaskLength()
task length if total amount of work is small than default task length (only relevant for task-stealing strategies)
|
StringPoolingStrategy |
getStringPoolingStrategy()
which string pooling strategy to use
|
java.lang.Integer |
getTaskLength()
default task length (only relevant for task-stealing strategies).
|
java.lang.String |
getTmpDir()
Use this path as temporary directory to store compilation artifacts and other temporary data.
|
java.lang.String |
getUdfConfigDirectory()
directory path containing udf config files
|
ReachabilityIndexCreationMode |
getUseIndexForReachabilityQueries()
create index for reachability queries
|
java.util.Map<PgxConfig.Field,java.lang.Object> |
getValues()
Gets the parsed values.
|
java.util.Map<PgxConfig.Field,java.lang.Object> |
getValuesWithoutDefaults()
Gets the values without defaults.
|
boolean |
hasDefaultValue(PgxConfig.Field field)
Checks for default value.
|
java.lang.Boolean |
isAllowIdleTimeoutOverwrite()
if
true , sessions can overwrite default idle timeout |
java.lang.Boolean |
isAllowOverrideSchedulingInformation()
if
true allow all users to override scheduling information like task weight, task priority and number of threads |
java.lang.Boolean |
isAllowTaskTimeoutOverwrite()
if
true , sessions can overwrite default task timeout |
java.lang.Boolean |
isAllowUserAutoRefresh()
if
true users may enable auto refresh for graphs they load. |
java.lang.Boolean |
isAuthorizationSessionCreateAllowAll()
if
true allow all users to create a PGX session regardless of permissions granted to them |
boolean |
isEmpty()
Checks if it's empty.
|
java.lang.Boolean |
isEnableCsrfTokenChecks()
if true, the PGX webapp will verify CSRF token cookie and request parameters sent by the client exist and match.
|
java.lang.Boolean |
isEnableGmCompiler()
if
true , enable dynamic compilation of Green-Marl code during runtime |
java.lang.Boolean |
isEnableGraphLoadingCache()
if
true , activate the graph loading cache that will accelerate loading of graphs that were previously loaded (can only be disabled in embedded mode) |
java.lang.Boolean |
isEnableMemoryLimitsChecks()
if true, PGX will enforce the configured memory limits
|
java.lang.Boolean |
isEnableSecureHandshake()
if
true PGX will use TLS-PSK to establish RPC channels between remote backend processes in the cluster |
java.lang.Boolean |
isEnableShutdownCleanupHook()
if
true PGX will add a JVM shutdown hook that will automatically shutdown PGX at JVM shutdown. |
java.lang.Boolean |
isExplicitSpinLocks()
true means spin explicitly in a loop until lock becomes available. |
java.lang.Boolean |
isIgnoreIncompatibleBackendOperations()
if
true only log when encountering incompatible operations and configuration values in RTS or FJ pool. |
java.lang.Boolean |
isInitPgqlOnStartup()
if
true PGQL is directly initialized on start-up of PGX. |
java.lang.Boolean |
isLaunchWatchdogs()
(for debugging) if
true , additional watch-dog threads will be launched which monitor and log engine health stats |
java.lang.Boolean |
isPartitioningIgnoreGhostnodes()
If set to
true , the partitioning strategy will ignore the ghost nodes. |
java.lang.Boolean |
isPartitioningShuffleVertices()
If set to
true , the vertices of the graph will be randomly shuffled among machines before partitioning. |
java.lang.Boolean |
isStrictMode()
if
true , exceptions are thrown and logged with ERROR level whenever engine encounters configuration problems, such as invalid keys, mismatches and other potential errors. |
java.lang.Boolean |
isUnsafeAllowForeignSyntax()
(This flag reduces security, enable only if you know what you're doing!) Allow foreign syntax in user-provided Green-Marl programs
|
static PgxConfig |
parse(java.io.InputStream is, boolean strict, java.lang.String parentPath)
Parses an input stream.
|
static PgxConfig |
parse(java.util.Map<java.lang.String,java.lang.Object> raw, boolean strict, java.lang.String parentPath)
Parses a raw key/value mapping.
|
static PgxConfig |
parse(java.util.Properties props, boolean strict)
Parses a properties file.
|
java.lang.String |
toString() |
java.lang.String |
toString(boolean hideSensitiveData) |
java.lang.Boolean |
useInfiniband()
If set to
true , InfiniBand will be used. |
java.lang.Boolean |
useMemoryMapperForReadingPgb()
if true, use memory mapped files for reading graphs in PGB format if possible; false always use s stream based implementation
|
java.lang.Boolean |
useMemoryMapperForStoringPgb()
if true, use memory mapped files for storing in PGB format if possible; if false always use a stream based implementation
|
getInstance, getInstance, getRolePermissionMapping, getRuntimeConfig, getUserPermissionMapping, isDistConfig, isSmConfig, validate
getRoleMaxMemoryLimits, getUserMaxMemoryLimits
getDefault, getValueFromEnvironment, getValueFromEnvironment, parseString, setSerializable
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public java.lang.Integer getAdminRequestCacheTimeout()
getAdminRequestCacheTimeout
in class AbstractEngineConfig
public java.util.List<java.lang.String> getAllowedRemoteLoadingLocations()
getAllowedRemoteLoadingLocations
in class AbstractEngineConfig
public java.util.List<AuthorizationEntityConfig> getAuthorization()
getAuthorization
in class AbstractPgxConfig
public java.util.List<PgxConfig.Field> getBackendFields()
public java.lang.String getBackendWrapper()
public BasicSchedulerConfig getBasicSchedulerConfig()
public java.lang.Integer getBfsIterateQueTaskSize()
public java.lang.Double getBfsThresholdParentReadBased()
public java.lang.Integer getBfsThresholdReadBased()
public java.lang.Integer getBfsThresholdSingleThreaded()
public java.lang.String getBuiltinsPath()
public java.lang.String getCharacterSet()
public java.lang.Integer getCniDiffFactorDefault()
public java.lang.Integer getCniSmallDefault()
public java.lang.Integer getCniStopRecursionDefault()
public java.lang.String getCommonLogConfigure()
public static PgxConfig.Field[] getConfigFields()
public DataMemoryLimitsConfig getDataMemoryLimits()
getDataMemoryLimits
in class AbstractEngineConfig
public java.lang.String getDebugServer()
public java.lang.Integer getDfsThresholdLarge()
public EnterpriseSchedulerConfig getEnterpriseSchedulerConfig()
public EnterpriseSchedulerFlagsConfig getEnterpriseSchedulerFlags()
public java.lang.String getExecutablePath()
public java.util.List<java.lang.String> getExistingHostnames()
public java.util.List<AuthorizationLocationConfig> getFileLocations()
getFileLocations
in class AbstractPgxConfig
public java.lang.Integer getGhostMaxNodeCounts()
public java.lang.Integer getGhostMinNeighbors()
public Compiler getGraphAlgorithmLanguage()
public GraphValidationLevel getGraphValidationLevel()
public java.lang.Integer getHandshakePort()
public java.util.List<java.lang.String> getHostnames()
public java.lang.String getIfEthernet()
public java.lang.String getIfInfiniband()
public UpdateConsistencyModel getInPlaceUpdateConsistencyModel()
public java.lang.String getInstanceName()
public java.lang.Integer getIntervalToPollMax()
getIntervalToPollMax
in class AbstractEngineConfig
public java.lang.String getJavaClassPath()
public java.lang.String getJavaHomeDir()
public java.lang.Integer getLargeArrayThreshold()
Integer.MAX_VALUE - 3
)public java.lang.Integer getLargeBufCount()
public java.lang.Integer getLargeBufSizeKb()
public java.util.Map<java.lang.String,java.lang.Object> getLeftoverValues()
public java.lang.String getLogConfigure()
public java.lang.String getLogStdRedirect()
public java.lang.Integer getMaxActiveSessions()
public java.lang.Integer getMaxDistinctStringsPerPool()
public java.lang.Long getMaxHttpClientRequestSize()
getMaxHttpClientRequestSize
in class AbstractEngineConfig
public java.lang.Integer getMaxOffHeapSize()
public java.lang.Integer getMaxQueueSizePerSession()
public java.lang.Integer getMaxSnapshotCount()
public MemoryAllocationStrategy getMemoryAllocator()
public java.lang.Integer getMemoryCleanupInterval()
public java.lang.Double getMinArrayCompactionThreshold()
public java.lang.Integer getMinFetchIntervalSec()
public java.lang.Integer getMinUpdateIntervalSec()
public FrontierTypeStrategy getMsBfsFrontierTypeStrategy()
public java.lang.Integer getNumSpinLocks()
public java.lang.Integer getParallelism()
public java.lang.String getPartitioningStrategy()
public java.lang.Integer getPatternMatchingSupernodeCacheThreshold()
public RealmConfig getPgxRealm()
public java.lang.String getPgxServerBaseUrl()
public java.lang.Double getPoolingFactor()
public java.util.List<PreloadGraphConfig> getPreloadGraphs()
getPreloadGraphs
in class AbstractPgxConfig
public java.lang.Integer getProcId()
public RandomGeneratorStrategy getRandomGeneratorStrategy()
public java.lang.Long getRandomSeed()
public java.lang.Double getReadinessMemoryUsageRatio()
public java.lang.Double getReleaseMemoryThreshold()
0.0
means graphs get freed as soon as their reference count becomes zero. That is, all sessions which loaded that graph were destroyed/timed out. A value of 1.0
means graphs get never freed. Engine will throw OutOfMemoryError
s as soon as a graph is needed which doesn't fit in memory anymore. A value of 0.7
means the engine keeps all graphs in memory as long as total memory consumption is below 70% of total available memory, even if there is currently no session using them. Once the 70% are surpassed and another graph needs to get loaded, un-used graphs get freed until memory consumption is below 70% again.public java.lang.Integer getResourceMonitor()
public java.lang.Integer getRevisitThreshold()
public java.lang.Double getRunningMemoryUsageRatio()
public SchedulerStrategy getScheduler()
public java.lang.String getSecureHandshakeSecretFile()
pkcs12
format. This is only used when enable_secure_handshaking
is true
.public java.lang.Integer getSessionIdleTimeoutSecs()
public java.lang.Integer getSessionTaskTimeoutSecs()
public java.lang.Integer getSmallTaskLength()
public StringPoolingStrategy getStringPoolingStrategy()
public java.lang.Integer getTaskLength()
public java.lang.String getTmpDir()
/tmp
on Linux)getTmpDir
in class AbstractEngineConfig
public java.lang.String getUdfConfigDirectory()
getUdfConfigDirectory
in class AbstractPgxConfig
public ReachabilityIndexCreationMode getUseIndexForReachabilityQueries()
public java.util.Map<PgxConfig.Field,java.lang.Object> getValues()
getValues
in class AbstractPgxConfig
public java.util.Map<PgxConfig.Field,java.lang.Object> getValuesWithoutDefaults()
public boolean hasDefaultValue(PgxConfig.Field field)
field
- the fieldpublic java.lang.Boolean isAllowIdleTimeoutOverwrite()
true
, sessions can overwrite default idle timeoutpublic java.lang.Boolean isAllowOverrideSchedulingInformation()
true
allow all users to override scheduling information like task weight, task priority and number of threadspublic java.lang.Boolean isAllowTaskTimeoutOverwrite()
true
, sessions can overwrite default task timeoutpublic java.lang.Boolean isAllowUserAutoRefresh()
true
users may enable auto refresh for graphs they load. If false
only graphs mentioned in preload_graphs
can have auto refresh enabledpublic java.lang.Boolean isAuthorizationSessionCreateAllowAll()
true
allow all users to create a PGX session regardless of permissions granted to thempublic boolean isEmpty()
public java.lang.Boolean isEnableCsrfTokenChecks()
isEnableCsrfTokenChecks
in class AbstractEngineConfig
public java.lang.Boolean isEnableGmCompiler()
true
, enable dynamic compilation of Green-Marl code during runtimepublic java.lang.Boolean isEnableGraphLoadingCache()
true
, activate the graph loading cache that will accelerate loading of graphs that were previously loaded (can only be disabled in embedded mode)public java.lang.Boolean isEnableMemoryLimitsChecks()
public java.lang.Boolean isEnableSecureHandshake()
true
PGX will use TLS-PSK to establish RPC channels between remote backend processes in the clusterpublic java.lang.Boolean isEnableShutdownCleanupHook()
true
PGX will add a JVM shutdown hook that will automatically shutdown PGX at JVM shutdown. Notice: Having the shutdown hook deactivated and not shutting down PGX explicitly may result in pollution of your temp directory.public java.lang.Boolean isExplicitSpinLocks()
true
means spin explicitly in a loop until lock becomes available. false
means using JDK locks which rely on the JVM to decide whether to context switch or spin. Our experiments showed that setting this value to true
results in better performance.public java.lang.Boolean isIgnoreIncompatibleBackendOperations()
true
only log when encountering incompatible operations and configuration values in RTS or FJ pool. If false
throw exceptionspublic java.lang.Boolean isInitPgqlOnStartup()
true
PGQL is directly initialized on start-up of PGX. Otherwise, it is initialized during the first use of PGQL.public java.lang.Boolean isLaunchWatchdogs()
true
, additional watch-dog threads will be launched which monitor and log engine health statspublic java.lang.Boolean isPartitioningIgnoreGhostnodes()
true
, the partitioning strategy will ignore the ghost nodes.public java.lang.Boolean isPartitioningShuffleVertices()
true
, the vertices of the graph will be randomly shuffled among machines before partitioning. If the data source does not contain enough randomness, this could be beneficial for query and analytics performance on graphs with many properties, labels or data providers. Shuffling can however increase the time necessary to load the graph.public java.lang.Boolean isStrictMode()
true
, exceptions are thrown and logged with ERROR
level whenever engine encounters configuration problems, such as invalid keys, mismatches and other potential errors. If false
, engine logs problems with ERROR
/WARN
level (depending on severity) and makes best guesses / uses sensible defaults instead of throwing exceptions.public java.lang.Boolean isUnsafeAllowForeignSyntax()
public static PgxConfig parse(java.io.InputStream is, boolean strict, java.lang.String parentPath) throws java.io.IOException
is
- the input streamstrict
- if true, parses in strict modeparentPath
- if not null, resolves relative paths against this parentPathjava.io.IOException
- Signals that an I/O exception has occurred.public static PgxConfig parse(java.util.Map<java.lang.String,java.lang.Object> raw, boolean strict, java.lang.String parentPath)
raw
- the raw key/value mapping to parsestrict
- if true, parses in strict modeparentPath
- if not null, resolves relative paths against this parentPathpublic static PgxConfig parse(java.util.Properties props, boolean strict)
props
- the properties to parsestrict
- if true, parses in strict modepublic java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toString(boolean hideSensitiveData)
public java.lang.Boolean useInfiniband()
true
, InfiniBand will be used. Must be set to false
on systems that do not support InfiniBand.public java.lang.Boolean useMemoryMapperForReadingPgb()
public java.lang.Boolean useMemoryMapperForStoringPgb()