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.serveri18n.local.enabled | Property to enable/disable i18n configuration from project files. |
activeviam.serveri18n.content-service.enabled | Property to enable/disable i18n configuration from data in the Content Service. |
atoti.server.endpoint.xmla.enabled | Property to enable/disable the XMLA endpoint autoconfiguration. |
activeviam.pivot.enabled | Property to enable/disable the Atoti services autoconfiguration. |
activeviam.ws.enabled | Property to enable/disable the Websocket endpoint autoconfiguration. |
activeviam.version.security.enabled | Property to enable/disable the version endpoint autoconfiguration. |
atoti.server.service.enabled | Property to enable/disable the Atoti Rest Services autoconfiguration. |
atoti.server.endpoint.jwt.security.enabled | Property to enable/disable the JWT endpoint security autoconfiguration. |
atoti.server.endpoint.content-service.security.enabled | Property to enable/disable the Content Service endpoint security autoconfiguration. |
atoti.server.endpoint.xmla.security.enabled | Property to enable/disable the XMLA endpoint security autoconfiguration. |
atoti.server.endpoint.security.enabled | Property to enable/disable the Atoti ActivePivot-related rest endpoints security autoconfiguration. |
atoti.server.endpoint.diagnostics.security.enabled | Property to enable/disable the diagnostics security autoconfiguration. |
atoti.server.endpoint.diagnostics.enabled | Property to enable/disable the diagnostics service autoconfiguration. |
atoti.server.endpoint.database.security.enabled | Property to enable/disable the Atoti Database-related rest endpoints security autoconfiguration. |
atoti.server.endpoint.activepivot.security.filters.authentication-flow. enabled | Property to enable the default authentication flow with login/logout pages. This property is set to true by default. |
atoti.server.service.health-agent.enabled | Property to enable the service reporting the health of the Atoti application through logs and events. |
atoti.server.content-service.type | Property to specify the type of Content Service to enable for the Atoti application, can be "remote" or "embedded". |
atoti.server.content-service.pivot-integration.enabled | Property to enable/disable the initialization of an ActivePivotContentService for the Atoti application. |
atoti.server.content-service.pivot-integration.roles.calculated-member | Property to specify the role which allows to create calculated members in the IConfigurationService. |
atoti.server.content-service.pivot-integration.roles.kpi | Property to specify the role which allows to create KPIs in IConfigurationService. |
atoti.server.content-service.pivot-integration.cache.enabled | Property to enable/disable the caching of entitlements in the Content Service. |
atoti.server.content-service.pivot-integration.cache.cache-entitlements-ttl | Property to set the time (as a Duration ) entitlements will be kept in the cache (use -1 for infinite time). |
atoti.server.content-service.pivot-integration.ui-integration.enabled | Property to enable the initialization of the Content Server with the required structure to work with Atoti UI. |
atoti.server.content-service.remote.uri | Property to specify the uri of the remote running Content Server. |
atoti.server.content-service.remote.username | Property to specify the root username for special operations. |
atoti.server.content-service.remote.max-connection-time | Property to specify the maximum time (as a Duration ) for establishing a connection to the remote Content Service. |
Atoti AdminUI Starter Properties
Property | Description |
---|---|
atoti.server.security.adminui.enabled | Property to enable/disable the autoconfiguration of the security for this starter. |
Atoti UI Starter Properties
Property | Description |
---|---|
atoti.server.security.ui.enabled | Property to enable/disable the autoconfiguration of the security for this starter. |
Atoti APM Starter Properties
Property | Description |
---|---|
activeviam.apm.node.starter.logging.enabled | Property to enable/disable the logging autoconfiguration. |
activeviam.apm.node.starter.jmx.enabled | Property to enable/disable the JMX autoconfiguration. |
activeviam.apm.feed.loading.enabled | Property to enable/disable the Monitored Data Loading autoconfiguration. |
Other Atoti Properties
Property | Description |
---|---|
activeviam.contentServer.remote.import.timeout | Property that defines the read timeout for imports, in minutes. |
activeviam.handler.stored.maxSize | Property that defines the maximum impact size above which a full (range) impact is returned for a given event. |
activeviam.mmap.threshold | Property that sets the threshold under which sun.misc.Unsafe is used for memory allocation. |
activeviam.mmap.tracking | Property that enables mmap native memory tracking. |
activeviam.compression.chunkset.disable | Property that disables the ChunkSet compression. |
activeviam.stream.configuration.gc.delay | Property that sets the 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.mdx.formula.callStackDepthLimit | Property that sets the maximum MDX call depth. |
activeviam.mdx.epoch.dimension.legacyName | Property used to rename the Epoch dimension/hierarchy to Branch (instead of Epoch ). |
activeviam.completer.log.suppressed | Property that configures whether the suppressed exceptions should be logged or not. |
activeviam.health.log | Property used to retrieve health events. |
activeviam.contentservice.root | System property that configures the name of the root role. |
activeviam.nativeMemoryCacheRatio | System property that configures cache ratio. |
activeviam.slab.memory.allocation.strategy | System property that configures the reserved memory to allocate for a given size of chunk. |
activeviam.defaultChunkSize | System property that configures the default chunk size of the application. |
activeviam.minimalChunkSize | System property that configures the minimal chunk size of the application. |
activeviam.chunkGarbageCollectionFactor | System property that configures the chunk garbage collection factor of the application. |
activeviam.chunk.compression.frequentValueRatio | System property controlling the ratio to compress chunks into frequent-value chunks, avoiding storing the repeated values. |
activeviam.chunk.compression.enabledFrequentValue | Property controlling the activation of frequency compression for each type of chunks. |
activeviam.chunkAllocatorKey | Property that configures the chunk allocator, using its key. |
activeviam.vectors.defaultBlockSize | System property that configures the default block size of the application. |
activeviam.vectors.garbageCollectionFactor | System property that configures the garbage collection factor for vectors. |
activeviam.vectors.allocator.pool.size | Property that configures the number of vector allocators that are kept alive after thread death. |
activeviam.vectors.swap.directory.numberFiles | System property that configures the maximum number of swap files that will be created in one directory. |
activeviam.vectorDelimiter | Property that defines the Vector delimiter when parsing vectors. |
activeviam.queries.continuous.primitive.fullFork | Property that allows to toggle the behavior of the primitive retrievals in the continuous queries. |
activeviam.postprocessor.partitionOnRangeLevelsByDefault | Property that sets the default behavior for post-processors supporting automatic expansion on range level partitioning. |
activeviam.distribution.gossip.router.port | Property that configures the port of the gossip router. |
activeviam.distribution.gossip.router.enable | Property that enables the gossip router. |
activeviam.logicalAddress | Property used by the messenger that defines the logical address of the IActivePivot query or data cube in the cluster. |
activeviam.protocolPath | Property that specifies the distribution protocol file's path. |
activeviam.distribution.netty.externalAddress | Property that defines the current machine address or the external public IP address. |
activeviam.distribution.netty.portRange | Property that defines the range of ports for Netty messenger. |
activeviam.distribution.nettyMessageMaxSize | Property that limits the size of messages (in bytes) sent over the network. |
activeviam.distribution.netty.bindAddress | The bind address property for the Netty messenger. |
activeviam.streaming.MDX.attemptLimit | Property that configures the maximum number of attempts to register the continuous queries. |
activeviam.mdx.queryBouncer.limit | Property that configures the maximum number of running mdx queries. |
activeviam.mdx.queryBouncer.waitLimit | Property that configures the waiting time (in seconds) while trying to execute a query when the maximum number of allowed running queries has been reached. |
activeviam.streaming.GET_AGGREGATES.attemptLimit | Property that configures the maximum number of attempts to register the continuous queries. |
activeviam.xmlaDiscoveryApproxCardinality | Property that configures the behavior during an XMLA discovery when computing hierarchy cardinality and level cardinality. |
activeviam.testPhase | Property flagging the current environment as a test environment. |
activeviam.pool.policy | System property that configures the NUMA thread placement policy. |
activeviam.pool.size | System property that configures the number of worker threads in the Atoti pools. |
activeviam.pool.scheduler.size | Property that configures the number of worker threads in the scheduler service. |
activeviam.external.retrieval.max.size | Property that configures the maximum size for which the building of the index used to perform Copper join operations is single threaded. |
activeviam.copper.join.index.parallelism | Property that configures the maximal parallelism of the thread pool used for performing a parallel build of the index used to perform Copper join operations. |
activeviam.property.separator | Property setting the expression separator. |
activeviam.collectible.query.type | Property to specify which query type can be collected. |
activeviam.mmap.sampling.depth | Property that sets maximum depth of the stacktrace in case sampling is enabled. |
activeviam.mmap.sampling.start | Property to set to true to start sampling as soon as the allocator is built. |
activeviam.mmap.sampling.percent | Property to set the percentage of allocations to sample. |
stopwatch.disabled | Name of the property to give to the JVM to disable timings measurement. |
activeviam.branch.master | System property to configure the name of the branch on which the real data are. |
activeviam.query.execution.checks | Property allowing to configure extensive sanity checks performed by ActivePivotAggregatesRetriever. |
atoti.license | Property that configures the Atoti license path. |
activeviam.pool.nodes | Property to set the nodes on which the user is allowed to run. |
activeviam.pool.procs | Property to hint ActivePivot about the number of available processors. |
activeviam.jit.pointIndex.type | Property that sets the type of point index to use for the Just In Time aggregate collector. |
activeviam.jit.pointIndex.size | Property to set the maximum size allowed for the point index in the JIT aggregate collector. |
activeviam.activepivot.expiredqueries.polling | Property that defines the polling period (in seconds) for expired queries. |
activeviam.streaming.initialPublicationMode | System property used for defining the default stream Initial publication mode. |
logUser | System property to activate logging on the current user. |
logThread | System property to activate logging on the current thread. |
logLoggerName | System property to activate logging on the name of the logger. |
activeviam.exportservice.rootpath | Property to set the root path in which to save the exported query results. |
activeviam.dataexportservice.rootpath | Property to set the root path in which to save the exported query results. |
activeviam.dataexport.arrow.batchSize | Number of records in Arrow batches. |
activeviam.duringThreadNumber | System property to configure the number of threads allocated by the application to trigger updates when using the function PAST_PERIODS. |
activeviam.maxDuringThreadNumber | System property to configure the number of threads allocated by the application to trigger updates when using the function PAST_PERIODS. |
activeviam.distribution.remote.pool.size | System property to configure the number of worker threads in the remote pool. |
activeviam.distribution.log.size.threshold | Property to configure the threshold (in bytes) above which the size of a IBroadcastMessage sent or received is logged at level INFO. |
activeviam.distribution.maxPendingDiscoveries | Property used to configure the maximum number of pending initial discoveries that this instance can tolerate before refusing new ones. |
activepivot.location.separator.hierarchy | The system property to use to override the hierarchy separator sequence. |
activepivot.location.separator.level | The system property to use to override the level separator sequence. |
activepivot.location.wildcard | The system property to use to override the wildcard sequence. |
activeviam.datastore.schema.separator | The system property to use to override the path separator. |
activeviam.conflation.maxQueueSize | Property that sets the maximum size of the transaction queue for the master branch before we stop accepting transactions. |
activeviam.conflation.maxDelayTime | Property that sets the 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.sequential | Property that controls whether conflated events of different types must be processed sequentially by the conflation event engine. |
activeviam.activepivot.allowNoDimensions | Property that allows the definition of pivots without dimensions. |
activeviam.activepivot.ensureSerializableMeasures | Forces the cube to check if all its measures are serializable. |
activeviam.contentServer.restrictedListing | Property that restricts the content service's entries a user can list on a readable directory. |
activeviam.repository.cache.isolated_transactions | Property that controls whether parameter store transactions should be isolated or trigger transactions on the ActivePivots. |
activeviam.repository.poll.period | Property setting the poll period of the Repository Daemon (in seconds). |
activeviam.repository.poll.period.max | Property that sets the maximum poll period property of the Repository Daemon (in seconds). |
activeviam.repository.poll.log.threshold | The number of polling failure the repository daemon has to reach before logging. |
activeviam.repository.daemon.waitStableDistribution | Property that controls whether the repository daemon should wait for the distributed architecture to be stable. |
activemonitor.poll.period | The poll period property of the ActiveMonitor Daemon (in seconds). |
activemonitor.poll.period.max | The maximum poll period property of the ActiveMonitor Daemon (in seconds). |
activemonitor.poll.log.threshold | The number of polling failure the activemonitor daemon has to reach before logging. |
activemonitor.daemon.waitStableDistribution | Property that controls whether the activemonitor daemon should wait for the distributed architecture to be stable. |
activemonitor.periodicExecutors.poolSize | Property that controls the size of the periodic monitor executor pool. |
activemonitor.activepivot.url | The property that defines the url for the connection of a ActiveMonitor agent. |
activemonitor.ui.url | The property that defines the live url for the connection of a ActiveMonitor agent. |
activeviam.continuousQueryMonitoring | The continuous query monitoring can be enabled/disabled at the application start through this system property. |
activeviam.memory.legacyAllocation | Option to activate legacy allocation considering huge page alignment. |
activeviam.selection.listener.catchUpMaxTime | Property that specifies with this the catchUpMaxTime in seconds. |
activeviam.datastore.query.maxLookupsOnUnique | Property configuring the maximal number of look-ups generated for a single condition on Unique Index. |
activeviam.datastore.query.maxLookupsOnSecondary | Property configuring the maximal number of look-ups generated for a single condition on Secondary Index. |
activeviam.datastore.query.maxRangeOperands | Property configuring the maximal number of range operands with multiple values that are supported for a query using a unique or secondary index. |
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.i18nconfig.file.encoding | The encoding with which to decode internationalization files that are stored locally. |
activeviam.msg.reporting.enabled | Property configuring detailed report generation for data sources. |
activeviam.msg.csv.reporting.maxAnomalies | The maximum number of anomalies that are reported during the parsing of a CSV source. |
activeviam.json.strongPrimitiveParsing | Enables string JSON parsing from primitive types, where null are not automatically converted into the type default values. |
activeviam.directquery.enableUnsupportedDatabaseVersion | Property that allows DirectQuery to try to use an unsupported database version. |
activeviam.directquery.allowAggFactorization | Some SQL queries can be optimized by factorizing the aggregations in order to aggregate less values. |
activeviam.mdx.negativecellset.limit | The maximum number of removed locations that can be handled by real-time MDX queries. |
activeviam.activecollector.renew.frequency | The property to use to change to frequency at which fences are renewed (in ms). |
activeviam.webclient.codec.maxInMemorySize | System property that configures the max size of webclient buffers in remote classes. |
activeviam.contextvaluemanager.session.lifetime | This property configures maximal lifetime of session context values, in seconds. |
activeviam.contentService.nameGenerator.prefix | System property to add a prefix to the names generated by the content service. |
activeviam.contentService.nameGenerator.defaultSize | System property to set the default size for the names generated by the content service. |
activeviam.contentService.webSocket.reconnectionDelay | System property to set the time in seconds to wait to retry the connection to a web socket. |
activeviam.contentService.nameGenerator.size | System property to set the size for the names generated by the content service. |
activeviam.mdx.largeMdxSetOptimization | Property that allow the MDX engine to optimize queries with large MDX sets. |
activeviam.distribution.query.throwOnMissingResponse | Property to make the distributed queries throw if responses from remote instances are missing. |