Properties in Atoti Server
Atoti defines a set of properties for configuration.
The mechanism for property handling in Atoti allows the usage of JVM arguments, system/environment properties, and external property files.
Atoti Server Properties
Properties used to configure Atoti starters are defined in PropertyNames
class of each starter.
Other properties are defined and documented in the ActiveViamProperty
class.
They correspond to the properties used to configure Atoti as well as other ActiveViam products.
System properties
Properties can be defined with JVM arguments and are defined using the -D
argument when starting the JVM.
Environment variables
Properties can be defined with environment variables are defined in the environment where the Atoti Server is running.
Spring properties
Spring properties can be defined using property files or other means.
They can be used to configure Spring or to override the value of an ActiveViamProperty
by importing com.activeviam.springboot:atoti-server-starter
in an Atoti project.
It is recommended to use one format to define these properties.
The PropertyRegistry
The PropertyRegistry
class contains the information about resolved properties and their current values.
By default, Atoti Server provides the property handling mechanism that can use the following sources for Atoti properties :
- Environment variables
- System properties
- Spring environment properties.
Accessing properties
The PropertyRegistry
provides several methods to fetch properties :
- Type-specific accessors with default fallback value:
getString()
,getInteger()
,getLong()
,getBoolean()
,getDouble
- Type-specific accessors with required value:
getRequiredString()
,getRequiredInteger()
,getRequiredLong()
,getRequiredBoolean()
,getRequiredDouble()
. When a requested property is not defined in thePropertyRegistry
while calling these methods, an exception is thrown.
Setting properties
Once the Registry has been instantiated, you cannot dynamically reload registry properties from the Sources. To programmatically change Atoti Server Properties you must use the
PropertyRegistry
API.
The PropertyRegistry
provides several methods to set properties :
- Type-specific accessors with default fallback value:
setString()
,setInteger()
,setLong()
,setBoolean()
,setDouble
clear()
method to remove a property.
Order of resolution
- Properties are resolved following the order defined in the Spring Boot documentation
List of Atoti properties
Atoti Server Starter Properties
Property | Description |
---|---|
activeviam.pivot.enabled | Enable/disable Atoti services autoconfiguration. |
activeviam.serveri18n.content-service.enabled | Enable/disable i18n configuration from data in the Content Service. |
activeviam.serveri18n.local.enabled | Enable/disable i18n configuration from project files. |
activeviam.version.security.enabled | Enable/disable version endpoint autoconfiguration. |
activeviam.ws.enabled | Enable/disable Websocket endpoint autoconfiguration. |
atoti.server.content-service.enabled-type | Type of Content Service to enable for the Atoti application, can be "in_memory", "hibernate" or "remote". |
atoti.server.content-service.pivot-integration.cache.cache-entitlements-ttl | Duration entitlements will be kept in the cache (in seconds, use -1 for infinite time). |
atoti.server.content-service.pivot-integration.cache.enabled | Enable/disable the caching of entitlements in the Content Service. |
atoti.server.content-service.pivot-integration.enabled | Enable/disable the initialization of an ActivePivotContentService for the Atoti application. |
atoti.server.content-service.pivot-integration.roles.calculated-member | Role which allows to create calculated members in the IConfigurationService . |
atoti.server.content-service.pivot-integration.roles.kpi | Role which allows to create KPIs in IConfigurationService . |
atoti.server.content-service.pivot-integration.ui-integration.enabled | Whether to initialize of the Content Server with the required structure to work with Atoti UI. |
atoti.server.content-service.remote.max-connection-time | Maximum duration for establishing a connection to the remote Content Service. |
atoti.server.content-service.remote.uri | URI of the remote running Content Server. |
atoti.server.content-service.remote.username | Root username for special operations. |
atoti.server.endpoint.activepivot.security.filters.authentication-flow.enabled | Enable/disable the default authentication flow with login/logout pages. This property is set to true by default. |
atoti.server.endpoint.content-service.security.enabled | Enable/disable Content Service endpoint security autoconfiguration. |
atoti.server.endpoint.database.security.enabled | Enable/disable Atoti Database-related rest endpoints security autoconfiguration. |
atoti.server.endpoint.diagnostics.enabled | Enable/disable diagnostics service autoconfiguration. |
atoti.server.endpoint.diagnostics.security.enabled | Enable/disable diagnostics security autoconfiguration. |
atoti.server.endpoint.jwt.security.enabled | Enable/disable JWT endpoint security autoconfiguration. |
atoti.server.endpoint.security.enabled | Enable/disable Atoti ActivePivot-related rest endpoints security autoconfiguration. |
atoti.server.endpoint.ws.engine.heart-beat-period | The number of milliseconds between heartbeats. Set to 0 so that no heartbeat will ever be sent. |
atoti.server.endpoint.ws.engine.max-binary-message-buffer-size | The maximum length of incoming binary messages that the session can buffer. Set to 0 to use the default value of the web server. |
atoti.server.endpoint.ws.engine.max-idle-timeout | The number of milliseconds before a conversation may be closed by the container if it is inactive, i.e. no messages are either sent or received in that time. Set to 0 to use the default value of the web server. |
atoti.server.endpoint.ws.engine.max-text-message-buffer-size | The maximum length of incoming text messages that the session can buffer. Set to 0 to use the default value of the web server. |
atoti.server.endpoint.xmla.enabled | Enable/disable XMLA endpoint autoconfiguration. |
atoti.server.endpoint.xmla.security.enabled | Enable/disable XMLA endpoint security autoconfiguration. |
atoti.server.service.enabled | Enable/disable Atoti Rest Services autoconfiguration. |
atoti.server.service.health-agent.enabled | Enable/disable the service reporting the health of the Atoti application through logs and events. |
Atoti AdminUI Starter Properties
Property | Description |
---|---|
atoti.server.security.adminui.enabled | Enable/disable autoconfiguration of the security for this starter. |
Atoti UI Starter Properties
Property | Description |
---|---|
atoti.server.security.ui.enabled | Enable/disable autoconfiguration of the security for this starter. |
atoti.server.ui.enabled | Property to enable/disable the autoconfiguration of the ui for this starter. |
atoti.server.ui.env-js-resource | Property to provide a custom path for the env.js file used by the ui for this starter. |
Atoti APM Starter Properties
Property | Description |
---|---|
activeviam.apm.feed.loading.enabled | Enable/disable Monitored Data Loading autoconfiguration. |
activeviam.apm.node.starter.jmx.enabled | Enable/disable JMX autoconfiguration. |
activeviam.apm.node.starter.logging.enabled | Enable/disable logging autoconfiguration. |
Other Atoti Properties
Property | Description |
---|---|
activemonitor.activepivot.url | URL for the connection of a ActiveMonitor agent. |
activemonitor.daemon.waitStableDistribution | Whether the activemonitor daemon should wait for the distributed architecture to be stable. |
activemonitor.periodicExecutors.poolSize | Size of the periodic monitor executor pool. |
activemonitor.poll.log.threshold | The number of polling failure the activemonitor daemon has to reach before logging. |
activemonitor.poll.period | The poll period of the ActiveMonitor Daemon (in seconds). |
activemonitor.poll.period.max | The maximum poll period of the ActiveMonitor Daemon (in seconds). |
activemonitor.ui.url | Live URL for the connection of a ActiveMonitor agent. |
activepivot.location.separator.hierarchy | The hierarchy separator sequence. |
activepivot.location.separator.level | The level separator sequence. |
activepivot.location.wildcard | The wildcard sequence. |
activeviam.activecollector.renew.frequency | Frequency at which fences are renewed (in ms). |
activeviam.activepivot.allowNoDimensions | Whether to allow the definition of pivots without dimensions. |
activeviam.activepivot.ensureSerializableMeasures | Forces the cube to check if all its measures are serializable. |
activeviam.activepivot.expiredqueries.polling | Polling period for expired queries (in seconds). |
activeviam.branch.master | Name of the branch on which the real data is. |
activeviam.chunk.compression.enabledFrequentValue | Whether frequency compression for each type of chunks is enabled. |
activeviam.chunk.compression.frequentValueRatio | Ratio to compress chunks into frequent-value chunks, avoiding storing the repeated values. |
activeviam.chunkAllocatorKey | Key of the chunk allocator to use. |
activeviam.chunkGarbageCollectionFactor | Chunk garbage collection factor of the application. |
activeviam.cloud.azure.maxRetriesOnError | The maximum number of times the azure cloud source will retry the download of the content of a particular Blob before giving up. |
activeviam.cloud.azure.retryDelay | The delay, in ms, between two download attempts of the content of a particular Azure Blob. |
activeviam.collectible.query.type | Query type to collect. |
activeviam.completer.log.suppressed | Whether suppressed exceptions should be logged. |
activeviam.compression.chunkset.disable | Whether to disable ChunkSet compression. |
activeviam.conflation.maxDelayTime | Maximum time (in ms) for which the oldest transaction of the master branch has been waiting in the queue before we stop accepting transactions. |
activeviam.conflation.maxQueueSize | Maximum size of the transaction queue for the master branch before we stop accepting transactions. |
activeviam.conflation.sequential | Whether conflated events of different types must be processed sequentially by the conflation event engine. |
activeviam.contentServer.remote.import.timeout | Read timeout for imports (in minutes). |
activeviam.contentServer.restrictedListing | Whether to restrict the content service's entries a user can list on a readable directory. |
activeviam.contentService.nameGenerator.defaultSize | Default size of the names generated by the content service. |
activeviam.contentService.nameGenerator.prefix | Prefix to add to the names generated by the content service. |
activeviam.contentService.nameGenerator.size | Size of the names generated by the content service. |
activeviam.contentService.webSocket.reconnectionDelay | Time in seconds to wait to retry the connection to a web socket. |
activeviam.contentservice.root | Name of the root role. |
activeviam.contextvaluemanager.session.lifetime | Maximal lifetime of session context values (in seconds). |
activeviam.continuousQueryMonitoring | Enable/disable continuous query monitoring. |
activeviam.copper.join.index.parallelism | Maximal parallelism of the thread pool used for performing a parallel build of the index used to perform Copper join operations. |
activeviam.dataexport.arrow.batchSize | Number of records in Arrow batches. |
activeviam.dataexportservice.rootpath | Root path in which to save the exported query results. |
activeviam.datastore.query.maxLookupsOnSecondary | Maximal number of look-ups generated for a single condition on Secondary Index. |
activeviam.datastore.query.maxLookupsOnUnique | Maximal number of look-ups generated for a single condition on Unique Index. |
activeviam.datastore.query.maxRangeOperands | Maximal number of range operands with multiple values that are supported for a query using a unique or secondary index. |
activeviam.datastore.schema.separator | Path separator to use. |
activeviam.defaultChunkSize | Default chunk size of the application. |
activeviam.directquery.allowAggFactorization | Some SQL queries can be optimized by factorizing the aggregations in order to aggregate less values. |
activeviam.directquery.enableUnsupportedDatabaseVersion | Whether to allow DirectQuery to try to use an unsupported database version. |
activeviam.distribution.gossip.router.enable | Enable/disable the gossip router. |
activeviam.distribution.gossip.router.port | Port of the gossip router. |
activeviam.distribution.log.size.threshold | Threshold (in bytes) above which the size of a IBroadcastMessage sent or received is logged at level INFO. |
activeviam.distribution.maxPendingDiscoveries | Maximum number of pending initial discoveries that this instance can tolerate before refusing new ones. |
activeviam.distribution.netty.bindAddress | Bind address for the Netty messenger. |
activeviam.distribution.netty.externalAddress | Current machine address or external public IP address. |
activeviam.distribution.netty.portRange | Range of ports for Netty messenger. |
activeviam.distribution.nettyMessageMaxSize | Size limit of messages (in bytes) sent over the network. |
activeviam.distribution.query.throwOnMissingResponse | Whether distributed queries should throw if responses from remote instances are missing. |
activeviam.distribution.remote.pool.size | Number of worker threads in the remote pool. |
activeviam.duringThreadNumber | Number of threads allocated by the application to trigger updates when using the function PAST_PERIODS . |
activeviam.exportservice.rootpath | Root path in which to save the exported query results. |
activeviam.external.retrieval.max.size | Maximum size for which the building of the index used to perform Copper join operations is single threaded. |
activeviam.handler.stored.maxSize | Maximum impact size above which a full (range) impact is returned for a given event. |
activeviam.health.log | Health events to enable. |
activeviam.i18nconfig.file.encoding | The encoding with which to decode internationalization files that are stored locally. |
activeviam.jit.pointIndex.size | Maximum size allowed for the point index in the Just In Time aggregate collector. |
activeviam.jit.pointIndex.type | Type of point index to use for the Just In Time aggregate collector. |
activeviam.json.strongPrimitiveParsing | Enables string JSON parsing from primitive types, where null are not automatically converted into the type default values. |
activeviam.jwt.key.private | Private key used to sign tokens, encoded in Base64. Only RSA keys using the PKCS 8 standard are supported. |
activeviam.jwt.key.public | Public key used to verify the integrity of tokens, encoded in Base64. Only RSA keys using the PKCS 8 standard are supported. |
activeviam.logicalAddress | Logical address of the IActivePivot query or data cube in the cluster. |
activeviam.maxDuringThreadNumber | Number of threads allocated by the application to trigger updates when using the function PAST_PERIODS . |
activeviam.mdx.epoch.dimension.legacyName | Whether to rename the Epoch dimension/hierarchy to Branch (instead of Epoch ). |
activeviam.mdx.formula.callStackDepthLimit | Maximum MDX call depth. |
activeviam.mdx.largeMdxSetOptimization | Whether the MDX engine should optimize queries with large MDX sets. |
activeviam.mdx.negativecellset.limit | Maximum number of removed locations that can be handled by real-time MDX queries. |
activeviam.mdx.queryBouncer.limit | Maximum number of running mdx queries. |
activeviam.mdx.queryBouncer.waitLimit | Waiting time (in seconds) while trying to execute a query when the maximum number of allowed running queries has been reached. |
activeviam.memory.legacyAllocation | Whether to activate legacy allocation considering huge page alignment. |
activeviam.minimalChunkSize | Minimal chunk size of the application. |
activeviam.mmap.sampling.depth | Maximum depth of the stacktrace when sampling is enabled. |
activeviam.mmap.sampling.percent | Percentage of allocations to sample. |
activeviam.mmap.sampling.start | Whether to start sampling as soon as the allocator is built. |
activeviam.mmap.threshold | Threshold under which sun.misc.Unsafe is used for memory allocation. |
activeviam.mmap.tracking | Enable/disable mmap native memory tracking. |
activeviam.msg.csv.reporting.maxAnomalies | The maximum number of anomalies that are reported during the parsing of a CSV source. |
activeviam.msg.reporting.enabled | Enable/disable detailed report generation for data sources. |
activeviam.nativeMemoryCacheRatio | Cache ratio. |
activeviam.pool.nodes | Nodes on which the user is allowed to run. |
activeviam.pool.policy | NUMA thread placement policy. |
activeviam.pool.procs | Hint about the number of available processors. |
activeviam.pool.scheduler.size | Number of worker threads in the scheduler service. |
activeviam.pool.size | Number of worker threads in the Atoti pools. |
activeviam.postprocessor.partitionOnRangeLevelsByDefault | Default behavior for post-processors supporting automatic expansion on range level partitioning. |
activeviam.property.separator | Expression separator. |
activeviam.protocolPath | The Distribution protocol file's path. |
activeviam.queries.continuous.primitive.fullFork | Whether to toggle the behavior of the primitive retrievals in continuous queries. |
activeviam.query.execution.checks | Whether ActivePivotAggregatesRetriever should perform extensive sanity checks. |
activeviam.repository.cache.isolated_transactions | Whether parameter store transactions should be isolated or trigger transactions on the ActivePivots. |
activeviam.repository.daemon.waitStableDistribution | Whether the repository daemon should wait for the distributed architecture to be stable. |
activeviam.repository.poll.log.threshold | The number of polling failure the repository daemon has to reach before logging. |
activeviam.repository.poll.period | Poll period of the Repository Daemon (in seconds). |
activeviam.repository.poll.period.max | Maximum poll period of the Repository Daemon (in seconds). |
activeviam.selection.listener.catchUpMaxTime | Property that specifies with this the catchUpMaxTime (in seconds). |
activeviam.slab.memory.allocation.strategy | Reserved memory to allocate for a given size of chunk. |
activeviam.stream.configuration.gc.delay | Time threshold (in ms) indicating when the stream configuration of a closed stream can be safely removed from the system and can be collected. |
activeviam.streaming.GET_AGGREGATES.attemptLimit | Maximum number of attempts to register the continuous queries. |
activeviam.streaming.MDX.attemptLimit | Maximum number of attempts to register the continuous queries. |
activeviam.streaming.initialPublicationMode | Default stream Initial publication mode. |
activeviam.testPhase | PropWhether the current environment is a test environment. |
activeviam.vectorDelimiter | Vector delimiter when parsing vectors. |
activeviam.vectors.allocator.pool.size | Number of vector allocators that are kept alive after thread death. |
activeviam.vectors.defaultBlockSize | Default block size of the application. |
activeviam.vectors.garbageCollectionFactor | Garbage collection factor for vectors. |
activeviam.vectors.swap.directory.numberFiles | Maximum number of swap files that will be created in one directory. |
activeviam.webclient.codec.maxInMemorySize | Max size of webclient buffers in remote classes. |
activeviam.xmlaDiscoveryApproxCardinality | Behavior during an XMLA discovery when computing hierarchy cardinality and level cardinality. |
atoti.license | Atoti license path. |
logLoggerName | Whether to insert the name of the logger in logs. |
logThread | Whether to insert the current thread in logs. |
logUser | Whether to insert the current user in logs. |
stopwatch.disabled | Whether to disable timings measurement. |