@Generated(value={"common/config/src/templates/ConfigBuilder.stg","common/config/config.gradle"})
public final class PgxConfigBuilder
extends java.lang.Object
PgxConfig
.Constructor and Description |
---|
PgxConfigBuilder()
Constructs an empty PgxConfigBuilder
|
PgxConfigBuilder(java.util.Map<PgxConfig.Field,java.lang.Object> values)
Constructs a PgxConfigBuilder initialized with the values from the given map
|
PgxConfigBuilder(PgxConfig config)
Constructs a PgxConfigBuilder initialized with the values from the given config
|
PgxConfigBuilder(PgxConfigBuilder builder)
Constructs a PgxConfigBuilder initialized with the values from the given builder
|
Modifier and Type | Method and Description |
---|---|
PgxConfig |
build()
Builds the PgxConfig with a
parentPath of null . |
PgxConfig |
build(java.lang.String parentPath)
Builds the PgxConfig.
|
static PgxConfig |
buildPgxConfig(java.util.function.Consumer<PgxConfigBuilder> builderSetup)
Builds a
PgxConfig in-place |
PgxConfigBuilder |
clear()
Clears all values from the builder
|
java.util.Map<PgxConfig.Field,java.lang.Object> |
getValues() |
PgxConfigBuilder |
putAll(java.util.Map<PgxConfig.Field,java.lang.Object> values)
Puts all values from the given map into this builder.
|
PgxConfigBuilder |
putAll(PgxConfig config)
Puts all values from the given config into this builder
|
PgxConfigBuilder |
setAdminRequestCacheTimeout(int adminRequestCacheTimeout)
after how many seconds admin request results get removed from the cache.
|
PgxConfigBuilder |
setAllowedRemoteLoadingLocations(java.lang.String... allowedRemoteLoadingLocations)
(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.
|
PgxConfigBuilder |
setAllowIdleTimeoutOverwrite(boolean allowIdleTimeoutOverwrite)
if
true , sessions can overwrite default idle timeout |
PgxConfigBuilder |
setAllowOverrideSchedulingInformation(boolean allowOverrideSchedulingInformation)
if
true allow all users to override scheduling information like task weight, task priority and number of threads |
PgxConfigBuilder |
setAllowTaskTimeoutOverwrite(boolean allowTaskTimeoutOverwrite)
if
true , sessions can overwrite default task timeout |
PgxConfigBuilder |
setAllowUserAutoRefresh(boolean allowUserAutoRefresh)
if
true users may enable auto refresh for graphs they load. |
PgxConfigBuilder |
setAuthorization(java.util.List<?> authorization)
mapping of users and roles to resources and permissions for authorization
|
PgxConfigBuilder |
setAuthorization(java.lang.Object... authorization)
mapping of users and roles to resources and permissions for authorization
|
PgxConfigBuilder |
setAuthorizationSessionCreateAllowAll(boolean authorizationSessionCreateAllowAll)
if
true allow all users to create a PGX session regardless of permissions granted to them |
PgxConfigBuilder |
setBackendWrapper(java.lang.String backendWrapper)
Only for internal use.
|
PgxConfigBuilder |
setBasicSchedulerConfig(BasicSchedulerConfig basicSchedulerConfig)
configuration parameters for the fork join pool backend
|
PgxConfigBuilder |
setBasicSchedulerConfig(java.util.function.Consumer<BasicSchedulerConfigBuilder> basicSchedulerConfigBuilderSetup)
Builds a BasicSchedulerConfig in-place.
|
PgxConfigBuilder |
setBfsIterateQueTaskSize(int bfsIterateQueTaskSize)
task size for BFS iterate QUE phase
|
PgxConfigBuilder |
setBfsThresholdParentReadBased(double bfsThresholdParentReadBased)
threshold of BFS traversal level items above which to switch to parent-read-based visiting strategy
|
PgxConfigBuilder |
setBfsThresholdReadBased(int bfsThresholdReadBased)
threshold of BFS traversal level items above which to switch to read-based visiting strategy
|
PgxConfigBuilder |
setBfsThresholdSingleThreaded(int bfsThresholdSingleThreaded)
until what number of BFS traversal level items vertices are visited single-threaded
|
PgxConfigBuilder |
setBuiltinsPath(java.lang.String builtinsPath)
Path to the builtin algorithms directory.
|
PgxConfigBuilder |
setCharacterSet(java.lang.String characterSet)
standard charset to use throughout PGX, UTF-8 will be used as default.
|
PgxConfigBuilder |
setCniDiffFactorDefault(int cniDiffFactorDefault)
default diff factor value used in the common neighbor iterator implementations.
|
PgxConfigBuilder |
setCniSmallDefault(int cniSmallDefault)
default value used in the common neighbor iterator implementations, to indicate below which threshold a subarray is considered small.
|
PgxConfigBuilder |
setCniStopRecursionDefault(int cniStopRecursionDefault)
default value used in the common neighbor iterator implementations, to indicate the minimum size where the binary search approach is applied.
|
PgxConfigBuilder |
setCommonLogConfigure(java.lang.String commonLogConfigure)
Path to a log configuration in Log4j2 (version 2) syntax.
|
PgxConfigBuilder |
setDataMemoryLimits(java.util.function.Consumer<DataMemoryLimitsConfigBuilder> dataMemoryLimitsBuilderSetup)
Builds a DataMemoryLimitsConfig in-place.
|
PgxConfigBuilder |
setDataMemoryLimits(DataMemoryLimitsConfig dataMemoryLimits)
memory limits configuration parameters
|
PgxConfigBuilder |
setDebugServer(java.lang.String debugServer)
Hostname of the debug server.
|
PgxConfigBuilder |
setDfsThresholdLarge(int dfsThresholdLarge)
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.
|
PgxConfigBuilder |
setEnableCsrfTokenChecks(boolean enableCsrfTokenChecks)
if true, the PGX webapp will verify CSRF token cookie and request parameters sent by the client exist and match.
|
PgxConfigBuilder |
setEnableGmCompiler(boolean enableGmCompiler)
if
true , enable dynamic compilation of Green-Marl code during runtime |
PgxConfigBuilder |
setEnableGraphLoadingCache(boolean enableGraphLoadingCache)
if
true , activate the graph loading cache that will accelerate loading of graphs that were previously loaded (can only be disabled in embedded mode) |
PgxConfigBuilder |
setEnableMemoryLimitsChecks(boolean enableMemoryLimitsChecks)
if true, PGX will enforce the configured memory limits
|
PgxConfigBuilder |
setEnableSecureHandshake(boolean enableSecureHandshake)
if
true PGX will use TLS-PSK to establish RPC channels between remote backend processes in the cluster |
PgxConfigBuilder |
setEnableShutdownCleanupHook(boolean enableShutdownCleanupHook)
if
true PGX will add a JVM shutdown hook that will automatically shutdown PGX at JVM shutdown. |
PgxConfigBuilder |
setEnterpriseSchedulerConfig(java.util.function.Consumer<EnterpriseSchedulerConfigBuilder> enterpriseSchedulerConfigBuilderSetup)
Builds a EnterpriseSchedulerConfig in-place.
|
PgxConfigBuilder |
setEnterpriseSchedulerConfig(EnterpriseSchedulerConfig enterpriseSchedulerConfig)
configuration parameters for the enterprise scheduler
|
PgxConfigBuilder |
setEnterpriseSchedulerFlags(java.util.function.Consumer<EnterpriseSchedulerFlagsConfigBuilder> enterpriseSchedulerFlagsBuilderSetup)
Builds a EnterpriseSchedulerFlagsConfig in-place.
|
PgxConfigBuilder |
setEnterpriseSchedulerFlags(EnterpriseSchedulerFlagsConfig enterpriseSchedulerFlags)
[relevant for enterprise_scheduler] enterprise scheduler specific settings.
|
PgxConfigBuilder |
setExecutablePath(java.lang.String executablePath)
Path to the PGX.D executable.
|
PgxConfigBuilder |
setExistingHostnames(java.lang.String... existingHostnames)
A list of names or IP addresses of hosts that are already part of an existing PGX.D cluster.
|
PgxConfigBuilder |
setExplicitSpinLocks(boolean explicitSpinLocks)
true means spin explicitly in a loop until lock becomes available. |
PgxConfigBuilder |
setFileLocations(java.util.List<?> fileLocations)
the file-locations that can be used in the authorization-config
|
PgxConfigBuilder |
setFileLocations(java.lang.Object... fileLocations)
the file-locations that can be used in the authorization-config
|
PgxConfigBuilder |
setGhostMaxNodeCounts(int ghostMaxNodeCounts)
The maximum number of ghost vertices for each graph.
|
PgxConfigBuilder |
setGhostMinNeighbors(int ghostMinNeighbors)
The minimum number of neighbors a vertex must have in order to be made a ghost (which is a vertex replicated on every machine).
|
PgxConfigBuilder |
setGraphAlgorithmLanguage(Compiler graphAlgorithmLanguage)
Frontend compiler to use.
|
PgxConfigBuilder |
setGraphValidationLevel(GraphValidationLevel graphValidationLevel)
level of validation performed on newly loaded or created graphs
|
PgxConfigBuilder |
setHandshakePort(int handshakePort)
a TCP port which will be used for handshaking of distributed backend processes.
|
PgxConfigBuilder |
setHostnames(java.lang.String... hostnames)
A list of names or IP addresses of hosts which should be involved in initial bootstrapping of a PGX.D cluster.
|
PgxConfigBuilder |
setIfEthernet(java.lang.String ifEthernet)
IP network interface, used to initialize the network transport layer when using IP (Internet Protocol).
|
PgxConfigBuilder |
setIfInfiniband(java.lang.String ifInfiniband)
InfiniBand network interface, used to initialize the network transport layer when using InfiniBand.
|
PgxConfigBuilder |
setIgnoreIncompatibleBackendOperations(boolean ignoreIncompatibleBackendOperations)
if
true only log when encountering incompatible operations and configuration values in RTS or FJ pool. |
PgxConfigBuilder |
setInitPgqlOnStartup(boolean initPgqlOnStartup)
if
true PGQL is directly initialized on start-up of PGX. |
PgxConfigBuilder |
setInPlaceUpdateConsistencyModel(UpdateConsistencyModel inPlaceUpdateConsistencyModel)
Consistency model used when in-place updates occur.
|
PgxConfigBuilder |
setInstanceName(java.lang.String instanceName)
Instance name sent as label to debug server.
|
PgxConfigBuilder |
setIntervalToPollMax(int intervalToPollMax)
Exponential backoff upper bound (in ms) to which -once reached, the job status polling interval is fixed
|
PgxConfigBuilder |
setJavaClassPath(java.lang.String javaClassPath)
Path to required java libraries.
|
PgxConfigBuilder |
setJavaHomeDir(java.lang.String javaHomeDir)
The path to Java's home directory.
|
PgxConfigBuilder |
setLargeArrayThreshold(int largeArrayThreshold)
threshold when the size of an array is too big to use a normal Java array.
|
PgxConfigBuilder |
setLargeBufCount(int largeBufCount)
Number of large buffers populated in the pool.
|
PgxConfigBuilder |
setLargeBufSizeKb(int largeBufSizeKb)
Size in kB of the large buffers.
|
PgxConfigBuilder |
setLaunchWatchdogs(boolean launchWatchdogs)
(for debugging) if
true , additional watch-dog threads will be launched which monitor and log engine health stats |
PgxConfigBuilder |
setLogConfigure(java.lang.String logConfigure)
Path to a log configuration in Log4j (version 1) syntax.
|
PgxConfigBuilder |
setLogStdRedirect(java.lang.String logStdRedirect)
Path to a log file into which the standard output streams (stdout, stderr) of PGX.D backend should be redirected.
|
PgxConfigBuilder |
setMaxActiveSessions(int maxActiveSessions)
the maximum number of sessions allowed to be active at a time
|
PgxConfigBuilder |
setMaxDistinctStringsPerPool(int maxDistinctStringsPerPool)
[only relevant if string_pooling_strategy is indexed] amount of distinct strings per property after which to stop pooling.
|
PgxConfigBuilder |
setMaxHttpClientRequestSize(long maxHttpClientRequestSize)
maximum size in bytes of any http request sent to to the PGX server over the REST API.
|
PgxConfigBuilder |
setMaxOffHeapSize(int maxOffHeapSize)
maximum amount of off-heap memory PGX is allowed to allocate in megabytes, before an OutOfMemoryError will be thrown.
|
PgxConfigBuilder |
setMaxQueueSizePerSession(int maxQueueSizePerSession)
the maximum number of pending tasks allowed to be in the queue, per session.
|
PgxConfigBuilder |
setMaxSnapshotCount(int maxSnapshotCount)
Number of snapshots that may be loaded in the engine at the same time.
|
PgxConfigBuilder |
setMemoryAllocator(MemoryAllocationStrategy memoryAllocator)
which memory allocator to use
|
PgxConfigBuilder |
setMemoryCleanupInterval(int memoryCleanupInterval)
memory cleanup tick in seconds
|
PgxConfigBuilder |
setMinArrayCompactionThreshold(double minArrayCompactionThreshold)
[only relevant for graphs optimized for updates] minimum value that can be used for the array_compaction_threshold value in graph configuration.
|
PgxConfigBuilder |
setMinFetchIntervalSec(int minFetchIntervalSec)
(only relevant if the graph format supports delta updates) for delta-refresh, the lowest interval at which a graph source is queried for changes.
|
PgxConfigBuilder |
setMinUpdateIntervalSec(int minUpdateIntervalSec)
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).
|
PgxConfigBuilder |
setMsBfsFrontierTypeStrategy(FrontierTypeStrategy msBfsFrontierTypeStrategy)
the type strategy to use for MS-BFS frontiers
|
PgxConfigBuilder |
setNumSpinLocks(int numSpinLocks)
how many spin locks each generated app will create at instantiation.
|
PgxConfigBuilder |
setParallelism(int parallelism)
number of worker threads to be used in thread pool.
|
PgxConfigBuilder |
setPartitioningIgnoreGhostnodes(boolean partitioningIgnoreGhostnodes)
If set to
true , the partitioning strategy will ignore the ghost nodes. |
PgxConfigBuilder |
setPartitioningShuffleVertices(boolean partitioningShuffleVertices)
If set to
true , the vertices of the graph will be randomly shuffled among machines before partitioning. |
PgxConfigBuilder |
setPartitioningStrategy(java.lang.String partitioningStrategy)
Partitioning strategy of the vertices of the graph.
|
PgxConfigBuilder |
setPatternMatchingSupernodeCacheThreshold(int patternMatchingSupernodeCacheThreshold)
minimum number of a node's neighbor to be a supernode.
|
PgxConfigBuilder |
setPgxRealm(java.util.function.Consumer<RealmConfigBuilder> pgxRealmBuilderSetup)
Builds a RealmConfig in-place.
|
PgxConfigBuilder |
setPgxRealm(RealmConfig pgxRealm)
configuration parameters for the realm
|
PgxConfigBuilder |
setPgxServerBaseUrl(java.lang.String pgxServerBaseUrl)
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
|
PgxConfigBuilder |
setPoolingFactor(double poolingFactor)
[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
|
PgxConfigBuilder |
setPreloadGraphs(java.util.List<?> preloadGraphs)
list of graph configs to be registered at start-up.
|
PgxConfigBuilder |
setPreloadGraphs(java.lang.Object... preloadGraphs)
list of graph configs to be registered at start-up.
|
PgxConfigBuilder |
setProcId(int procId)
Internal unique machine identifier in the cluster.
|
PgxConfigBuilder |
setRandomGeneratorStrategy(RandomGeneratorStrategy randomGeneratorStrategy)
method of generating random numbers in pgx
|
PgxConfigBuilder |
setRandomSeed(long randomSeed)
[relevant for deterministic random number generator only] seed for the deterministic random number generator used in pgx.
|
PgxConfigBuilder |
setReadinessMemoryUsageRatio(double readinessMemoryUsageRatio)
memory limit ratio that should be considered to detect if PGX server is ready, used by isReady API, default value is 1.0
|
PgxConfigBuilder |
setReleaseMemoryThreshold(double releaseMemoryThreshold)
threshold percentage of used memory after which the engine starts freeing un-used graphs.
|
PgxConfigBuilder |
setResourceMonitor(int resourceMonitor)
Frequency at which to send resource statistics to the debug server, in ms.
|
PgxConfigBuilder |
setRevisitThreshold(int revisitThreshold)
maximum number of matched results from a node to be cached
|
PgxConfigBuilder |
setRunningMemoryUsageRatio(double runningMemoryUsageRatio)
memory limit ratio that should be considered to detect if PGX server is running, used by isRunning API default value is 1.0
|
PgxConfigBuilder |
setScheduler(SchedulerStrategy scheduler)
which scheduler to use.
|
PgxConfigBuilder |
setSecureHandshakeSecretFile(java.lang.String secureHandshakeSecretFile)
the file path of the secret in
pkcs12 format. |
PgxConfigBuilder |
setSessionIdleTimeoutSecs(int sessionIdleTimeoutSecs)
timeout of idling sessions in seconds.
|
PgxConfigBuilder |
setSessionTaskTimeoutSecs(int sessionTaskTimeoutSecs)
timeout to interrupt long-running tasks submitted by sessions (algorithms, I/O tasks) in seconds.
|
PgxConfigBuilder |
setSmallTaskLength(int smallTaskLength)
task length if total amount of work is small than default task length (only relevant for task-stealing strategies)
|
PgxConfigBuilder |
setStrictMode(boolean strictMode)
if
true , exceptions are thrown and logged with ERROR level whenever engine encounters configuration problems, such as invalid keys, mismatches and other potential errors. |
PgxConfigBuilder |
setStringPoolingStrategy(StringPoolingStrategy stringPoolingStrategy)
which string pooling strategy to use
|
PgxConfigBuilder |
setTaskLength(int taskLength)
default task length (only relevant for task-stealing strategies).
|
PgxConfigBuilder |
setTmpDir(java.lang.String tmpDir)
Use this path as temporary directory to store compilation artifacts and other temporary data.
|
PgxConfigBuilder |
setUdfConfigDirectory(java.lang.String udfConfigDirectory)
directory path containing udf config files
|
PgxConfigBuilder |
setUNSAFEAllowForeignSyntax(boolean uNSAFEAllowForeignSyntax)
(This flag reduces security, enable only if you know what you're doing!) Allow foreign syntax in user-provided Green-Marl programs
|
PgxConfigBuilder |
setUseIndexForReachabilityQueries(ReachabilityIndexCreationMode useIndexForReachabilityQueries)
create index for reachability queries
|
PgxConfigBuilder |
setUseInfiniband(boolean useInfiniband)
If set to
true , InfiniBand will be used. |
PgxConfigBuilder |
setUseMemoryMapperForReadingPgb(boolean useMemoryMapperForReadingPgb)
if true, use memory mapped files for reading graphs in PGB format if possible; false always use s stream based implementation
|
PgxConfigBuilder |
setUseMemoryMapperForStoringPgb(boolean useMemoryMapperForStoringPgb)
if true, use memory mapped files for storing in PGB format if possible; if false always use a stream based implementation
|
java.io.InputStream |
toInputStream() |
java.lang.String |
toString() |
public PgxConfigBuilder()
public PgxConfigBuilder(java.util.Map<PgxConfig.Field,java.lang.Object> values)
values
- a map containing configuration valuespublic PgxConfigBuilder(PgxConfig config)
config
- the configuration to take the values frompublic PgxConfigBuilder(PgxConfigBuilder builder)
builder
- the builder to take the values frompublic PgxConfig build()
parentPath
of null
.build(String)
public PgxConfig build(java.lang.String parentPath)
parentPath
- if not null, resolves relative paths against this parentPathpublic static PgxConfig buildPgxConfig(java.util.function.Consumer<PgxConfigBuilder> builderSetup)
PgxConfig
in-placebuilderSetup
- a consumer to setup a newly created PgxConfig
public PgxConfigBuilder clear()
public java.util.Map<PgxConfig.Field,java.lang.Object> getValues()
public PgxConfigBuilder putAll(java.util.Map<PgxConfig.Field,java.lang.Object> values)
values
- the values to put in the builderpublic PgxConfigBuilder putAll(PgxConfig config)
config
- the config to take the values frompublic PgxConfigBuilder setAdminRequestCacheTimeout(int adminRequestCacheTimeout)
public PgxConfigBuilder setAllowedRemoteLoadingLocations(java.lang.String... allowedRemoteLoadingLocations)
allowedRemoteLoadingLocations
- use "https", "ftps", "s3", "hdfs" for specific locations, or "*" to allow loading from all remote locations.public PgxConfigBuilder setAllowIdleTimeoutOverwrite(boolean allowIdleTimeoutOverwrite)
true
, sessions can overwrite default idle timeoutpublic PgxConfigBuilder setAllowOverrideSchedulingInformation(boolean allowOverrideSchedulingInformation)
true
allow all users to override scheduling information like task weight, task priority and number of threadspublic PgxConfigBuilder setAllowTaskTimeoutOverwrite(boolean allowTaskTimeoutOverwrite)
true
, sessions can overwrite default task timeoutpublic PgxConfigBuilder setAllowUserAutoRefresh(boolean allowUserAutoRefresh)
true
users may enable auto refresh for graphs they load. If false
only graphs mentioned in preload_graphs
can have auto refresh enabledpublic PgxConfigBuilder setAuthorization(java.util.List<?> authorization)
authorization
- mapping resource to permissionspublic PgxConfigBuilder setAuthorization(java.lang.Object... authorization)
authorization
- mapping resource to permissionspublic PgxConfigBuilder setAuthorizationSessionCreateAllowAll(boolean authorizationSessionCreateAllowAll)
true
allow all users to create a PGX session regardless of permissions granted to thempublic PgxConfigBuilder setBackendWrapper(java.lang.String backendWrapper)
public PgxConfigBuilder setBasicSchedulerConfig(BasicSchedulerConfig basicSchedulerConfig)
public PgxConfigBuilder setBasicSchedulerConfig(java.util.function.Consumer<BasicSchedulerConfigBuilder> basicSchedulerConfigBuilderSetup)
basicSchedulerConfigBuilderSetup
- a consumer to setup a newly created BasicSchedulerConfigBuilder
BasicSchedulerConfigBuilder
public PgxConfigBuilder setBfsIterateQueTaskSize(int bfsIterateQueTaskSize)
public PgxConfigBuilder setBfsThresholdParentReadBased(double bfsThresholdParentReadBased)
public PgxConfigBuilder setBfsThresholdReadBased(int bfsThresholdReadBased)
public PgxConfigBuilder setBfsThresholdSingleThreaded(int bfsThresholdSingleThreaded)
public PgxConfigBuilder setBuiltinsPath(java.lang.String builtinsPath)
public PgxConfigBuilder setCharacterSet(java.lang.String characterSet)
public PgxConfigBuilder setCniDiffFactorDefault(int cniDiffFactorDefault)
public PgxConfigBuilder setCniSmallDefault(int cniSmallDefault)
public PgxConfigBuilder setCniStopRecursionDefault(int cniStopRecursionDefault)
public PgxConfigBuilder setCommonLogConfigure(java.lang.String commonLogConfigure)
public PgxConfigBuilder setDataMemoryLimits(java.util.function.Consumer<DataMemoryLimitsConfigBuilder> dataMemoryLimitsBuilderSetup)
dataMemoryLimitsBuilderSetup
- a consumer to setup a newly created DataMemoryLimitsConfigBuilder
DataMemoryLimitsConfigBuilder
public PgxConfigBuilder setDataMemoryLimits(DataMemoryLimitsConfig dataMemoryLimits)
public PgxConfigBuilder setDebugServer(java.lang.String debugServer)
public PgxConfigBuilder setDfsThresholdLarge(int dfsThresholdLarge)
public PgxConfigBuilder setEnableCsrfTokenChecks(boolean enableCsrfTokenChecks)
public PgxConfigBuilder setEnableGmCompiler(boolean enableGmCompiler)
true
, enable dynamic compilation of Green-Marl code during runtimepublic PgxConfigBuilder setEnableGraphLoadingCache(boolean enableGraphLoadingCache)
true
, activate the graph loading cache that will accelerate loading of graphs that were previously loaded (can only be disabled in embedded mode)public PgxConfigBuilder setEnableMemoryLimitsChecks(boolean enableMemoryLimitsChecks)
public PgxConfigBuilder setEnableSecureHandshake(boolean enableSecureHandshake)
true
PGX will use TLS-PSK to establish RPC channels between remote backend processes in the clusterpublic PgxConfigBuilder setEnableShutdownCleanupHook(boolean enableShutdownCleanupHook)
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 PgxConfigBuilder setEnterpriseSchedulerConfig(java.util.function.Consumer<EnterpriseSchedulerConfigBuilder> enterpriseSchedulerConfigBuilderSetup)
enterpriseSchedulerConfigBuilderSetup
- a consumer to setup a newly created EnterpriseSchedulerConfigBuilder
EnterpriseSchedulerConfigBuilder
public PgxConfigBuilder setEnterpriseSchedulerConfig(EnterpriseSchedulerConfig enterpriseSchedulerConfig)
public PgxConfigBuilder setEnterpriseSchedulerFlags(java.util.function.Consumer<EnterpriseSchedulerFlagsConfigBuilder> enterpriseSchedulerFlagsBuilderSetup)
enterpriseSchedulerFlagsBuilderSetup
- a consumer to setup a newly created EnterpriseSchedulerFlagsConfigBuilder
EnterpriseSchedulerFlagsConfigBuilder
public PgxConfigBuilder setEnterpriseSchedulerFlags(EnterpriseSchedulerFlagsConfig enterpriseSchedulerFlags)
public PgxConfigBuilder setExecutablePath(java.lang.String executablePath)
public PgxConfigBuilder setExistingHostnames(java.lang.String... existingHostnames)
existingHostnames
- A host name or IP address.public PgxConfigBuilder setExplicitSpinLocks(boolean explicitSpinLocks)
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 PgxConfigBuilder setFileLocations(java.util.List<?> fileLocations)
fileLocations
- definition of a file-locationpublic PgxConfigBuilder setFileLocations(java.lang.Object... fileLocations)
fileLocations
- definition of a file-locationpublic PgxConfigBuilder setGhostMaxNodeCounts(int ghostMaxNodeCounts)
public PgxConfigBuilder setGhostMinNeighbors(int ghostMinNeighbors)
public PgxConfigBuilder setGraphAlgorithmLanguage(Compiler graphAlgorithmLanguage)
public PgxConfigBuilder setGraphValidationLevel(GraphValidationLevel graphValidationLevel)
public PgxConfigBuilder setHandshakePort(int handshakePort)
public PgxConfigBuilder setHostnames(java.lang.String... hostnames)
hostnames
- A host name or IP address.public PgxConfigBuilder setIfEthernet(java.lang.String ifEthernet)
public PgxConfigBuilder setIfInfiniband(java.lang.String ifInfiniband)
public PgxConfigBuilder setIgnoreIncompatibleBackendOperations(boolean ignoreIncompatibleBackendOperations)
true
only log when encountering incompatible operations and configuration values in RTS or FJ pool. If false
throw exceptionspublic PgxConfigBuilder setInitPgqlOnStartup(boolean initPgqlOnStartup)
true
PGQL is directly initialized on start-up of PGX. Otherwise, it is initialized during the first use of PGQL.public PgxConfigBuilder setInPlaceUpdateConsistencyModel(UpdateConsistencyModel inPlaceUpdateConsistencyModel)
public PgxConfigBuilder setInstanceName(java.lang.String instanceName)
public PgxConfigBuilder setIntervalToPollMax(int intervalToPollMax)
public PgxConfigBuilder setJavaClassPath(java.lang.String javaClassPath)
public PgxConfigBuilder setJavaHomeDir(java.lang.String javaHomeDir)
public PgxConfigBuilder setLargeArrayThreshold(int largeArrayThreshold)
Integer.MAX_VALUE - 3
)public PgxConfigBuilder setLargeBufCount(int largeBufCount)
public PgxConfigBuilder setLargeBufSizeKb(int largeBufSizeKb)
public PgxConfigBuilder setLaunchWatchdogs(boolean launchWatchdogs)
true
, additional watch-dog threads will be launched which monitor and log engine health statspublic PgxConfigBuilder setLogConfigure(java.lang.String logConfigure)
public PgxConfigBuilder setLogStdRedirect(java.lang.String logStdRedirect)
public PgxConfigBuilder setMaxActiveSessions(int maxActiveSessions)
public PgxConfigBuilder setMaxDistinctStringsPerPool(int maxDistinctStringsPerPool)
public PgxConfigBuilder setMaxHttpClientRequestSize(long maxHttpClientRequestSize)
public PgxConfigBuilder setMaxOffHeapSize(int maxOffHeapSize)
public PgxConfigBuilder setMaxQueueSizePerSession(int maxQueueSizePerSession)
public PgxConfigBuilder setMaxSnapshotCount(int maxSnapshotCount)
public PgxConfigBuilder setMemoryAllocator(MemoryAllocationStrategy memoryAllocator)
public PgxConfigBuilder setMemoryCleanupInterval(int memoryCleanupInterval)
public PgxConfigBuilder setMinArrayCompactionThreshold(double minArrayCompactionThreshold)
public PgxConfigBuilder setMinFetchIntervalSec(int minFetchIntervalSec)
public PgxConfigBuilder setMinUpdateIntervalSec(int minUpdateIntervalSec)
public PgxConfigBuilder setMsBfsFrontierTypeStrategy(FrontierTypeStrategy msBfsFrontierTypeStrategy)
public PgxConfigBuilder setNumSpinLocks(int numSpinLocks)
public PgxConfigBuilder setParallelism(int parallelism)
public PgxConfigBuilder setPartitioningIgnoreGhostnodes(boolean partitioningIgnoreGhostnodes)
true
, the partitioning strategy will ignore the ghost nodes.public PgxConfigBuilder setPartitioningShuffleVertices(boolean partitioningShuffleVertices)
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 PgxConfigBuilder setPartitioningStrategy(java.lang.String partitioningStrategy)
public PgxConfigBuilder setPatternMatchingSupernodeCacheThreshold(int patternMatchingSupernodeCacheThreshold)
public PgxConfigBuilder setPgxRealm(java.util.function.Consumer<RealmConfigBuilder> pgxRealmBuilderSetup)
pgxRealmBuilderSetup
- a consumer to setup a newly created RealmConfigBuilder
RealmConfigBuilder
public PgxConfigBuilder setPgxRealm(RealmConfig pgxRealm)
public PgxConfigBuilder setPgxServerBaseUrl(java.lang.String pgxServerBaseUrl)
public PgxConfigBuilder setPoolingFactor(double poolingFactor)
public PgxConfigBuilder setPreloadGraphs(java.util.List<?> preloadGraphs)
preloadGraphs
- configuration parameters for the preloaded graphpublic PgxConfigBuilder setPreloadGraphs(java.lang.Object... preloadGraphs)
preloadGraphs
- configuration parameters for the preloaded graphpublic PgxConfigBuilder setProcId(int procId)
public PgxConfigBuilder setRandomGeneratorStrategy(RandomGeneratorStrategy randomGeneratorStrategy)
public PgxConfigBuilder setRandomSeed(long randomSeed)
public PgxConfigBuilder setReadinessMemoryUsageRatio(double readinessMemoryUsageRatio)
public PgxConfigBuilder setReleaseMemoryThreshold(double releaseMemoryThreshold)
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 PgxConfigBuilder setResourceMonitor(int resourceMonitor)
public PgxConfigBuilder setRevisitThreshold(int revisitThreshold)
public PgxConfigBuilder setRunningMemoryUsageRatio(double runningMemoryUsageRatio)
public PgxConfigBuilder setScheduler(SchedulerStrategy scheduler)
public PgxConfigBuilder setSecureHandshakeSecretFile(java.lang.String secureHandshakeSecretFile)
pkcs12
format. This is only used when enable_secure_handshaking
is true
.public PgxConfigBuilder setSessionIdleTimeoutSecs(int sessionIdleTimeoutSecs)
public PgxConfigBuilder setSessionTaskTimeoutSecs(int sessionTaskTimeoutSecs)
public PgxConfigBuilder setSmallTaskLength(int smallTaskLength)
public PgxConfigBuilder setStrictMode(boolean strictMode)
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 PgxConfigBuilder setStringPoolingStrategy(StringPoolingStrategy stringPoolingStrategy)
public PgxConfigBuilder setTaskLength(int taskLength)
public PgxConfigBuilder setTmpDir(java.lang.String tmpDir)
/tmp
on Linux)public PgxConfigBuilder setUdfConfigDirectory(java.lang.String udfConfigDirectory)
public PgxConfigBuilder setUNSAFEAllowForeignSyntax(boolean uNSAFEAllowForeignSyntax)
public PgxConfigBuilder setUseIndexForReachabilityQueries(ReachabilityIndexCreationMode useIndexForReachabilityQueries)
public PgxConfigBuilder setUseInfiniband(boolean useInfiniband)
true
, InfiniBand will be used. Must be set to false
on systems that do not support InfiniBand.public PgxConfigBuilder setUseMemoryMapperForReadingPgb(boolean useMemoryMapperForReadingPgb)
public PgxConfigBuilder setUseMemoryMapperForStoringPgb(boolean useMemoryMapperForStoringPgb)
public java.io.InputStream toInputStream()
InputStream
representing the configpublic java.lang.String toString()
toString
in class java.lang.Object