Skip to main content

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 the PropertyRegistry 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

List of Atoti properties

Atoti Server Starter Properties

PropertyDescription
activeviam.pivot.enabledEnable/disable Atoti services autoconfiguration.
activeviam.serveri18n.content-service.enabledEnable/disable i18n configuration from data in the Content Service.
activeviam.serveri18n.local.enabledEnable/disable i18n configuration from project files.
activeviam.version.security.enabledEnable/disable version endpoint autoconfiguration.
activeviam.ws.enabledEnable/disable Websocket endpoint autoconfiguration.
atoti.server.content-service.enabled-typeType 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-ttlDuration entitlements will be kept in the cache (in seconds, use -1 for infinite time).
atoti.server.content-service.pivot-integration.cache.enabledEnable/disable the caching of entitlements in the Content Service.
atoti.server.content-service.pivot-integration.enabledEnable/disable the initialization of an ActivePivotContentService for the Atoti application.
atoti.server.content-service.pivot-integration.roles.calculated-memberRole which allows to create calculated members in the IConfigurationService.
atoti.server.content-service.pivot-integration.roles.kpiRole which allows to create KPIs in IConfigurationService.
atoti.server.content-service.pivot-integration.ui-integration.enabledWhether to initialize of the Content Server with the required structure to work with Atoti UI.
atoti.server.content-service.remote.max-connection-timeMaximum duration for establishing a connection to the remote Content Service.
atoti.server.content-service.remote.uriURI of the remote running Content Server.
atoti.server.content-service.remote.usernameRoot username for special operations.
atoti.server.endpoint.activepivot.security.filters.authentication-flow.enabledEnable/disable the default authentication flow with login/logout pages. This property is set to true by default.
atoti.server.endpoint.content-service.security.enabledEnable/disable Content Service endpoint security autoconfiguration.
atoti.server.endpoint.database.security.enabledEnable/disable Atoti Database-related rest endpoints security autoconfiguration.
atoti.server.endpoint.diagnostics.enabledEnable/disable diagnostics service autoconfiguration.
atoti.server.endpoint.diagnostics.security.enabledEnable/disable diagnostics security autoconfiguration.
atoti.server.endpoint.jwt.security.enabledEnable/disable JWT endpoint security autoconfiguration.
atoti.server.endpoint.security.enabledEnable/disable Atoti ActivePivot-related rest endpoints security autoconfiguration.
atoti.server.endpoint.ws.engine.heart-beat-periodThe 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-sizeThe 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-timeoutThe 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-sizeThe 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.enabledEnable/disable XMLA endpoint autoconfiguration.
atoti.server.endpoint.xmla.security.enabledEnable/disable XMLA endpoint security autoconfiguration.
atoti.server.service.enabledEnable/disable Atoti Rest Services autoconfiguration.
atoti.server.service.health-agent.enabledEnable/disable the service reporting the health of the Atoti application through logs and events.

Atoti AdminUI Starter Properties

PropertyDescription
atoti.server.security.adminui.enabledEnable/disable autoconfiguration of the security for this starter.

Atoti UI Starter Properties

PropertyDescription
atoti.server.security.ui.enabledEnable/disable autoconfiguration of the security for this starter.
atoti.server.ui.enabledProperty to enable/disable the autoconfiguration of the ui for this starter.
atoti.server.ui.env-js-resourceProperty to provide a custom path for the env.js file used by the ui for this starter.

Atoti APM Starter Properties

PropertyDescription
activeviam.apm.feed.loading.enabledEnable/disable Monitored Data Loading autoconfiguration.
activeviam.apm.node.starter.jmx.enabledEnable/disable JMX autoconfiguration.
activeviam.apm.node.starter.logging.enabledEnable/disable logging autoconfiguration.

Other Atoti Properties

PropertyDescription
activemonitor.activepivot.urlURL for the connection of a ActiveMonitor agent.
activemonitor.daemon.waitStableDistributionWhether the activemonitor daemon should wait for the distributed architecture to be stable.
activemonitor.periodicExecutors.poolSizeSize of the periodic monitor executor pool.
activemonitor.poll.log.thresholdThe number of polling failure the activemonitor daemon has to reach before logging.
activemonitor.poll.periodThe poll period of the ActiveMonitor Daemon (in seconds).
activemonitor.poll.period.maxThe maximum poll period of the ActiveMonitor Daemon (in seconds).
activemonitor.ui.urlLive URL for the connection of a ActiveMonitor agent.
activepivot.location.separator.hierarchyThe hierarchy separator sequence.
activepivot.location.separator.levelThe level separator sequence.
activepivot.location.wildcardThe wildcard sequence.
activeviam.activecollector.renew.frequencyFrequency at which fences are renewed (in ms).
activeviam.activepivot.allowNoDimensionsWhether to allow the definition of pivots without dimensions.
activeviam.activepivot.ensureSerializableMeasuresForces the cube to check if all its measures are serializable.
activeviam.activepivot.expiredqueries.pollingPolling period for expired queries (in seconds).
activeviam.branch.masterName of the branch on which the real data is.
activeviam.chunk.compression.enabledFrequentValueWhether frequency compression for each type of chunks is enabled.
activeviam.chunk.compression.frequentValueRatioRatio to compress chunks into frequent-value chunks, avoiding storing the repeated values.
activeviam.chunkAllocatorKeyKey of the chunk allocator to use.
activeviam.chunkGarbageCollectionFactorChunk garbage collection factor of the application.
activeviam.cloud.azure.maxRetriesOnErrorThe 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.retryDelayThe delay, in ms, between two download attempts of the content of a particular Azure Blob.
activeviam.collectible.query.typeQuery type to collect.
activeviam.completer.log.suppressedWhether suppressed exceptions should be logged.
activeviam.compression.chunkset.disableWhether to disable ChunkSet compression.
activeviam.conflation.maxDelayTimeMaximum 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.maxQueueSizeMaximum size of the transaction queue for the master branch before we stop accepting transactions.
activeviam.conflation.sequentialWhether conflated events of different types must be processed sequentially by the conflation event engine.
activeviam.contentServer.remote.import.timeoutRead timeout for imports (in minutes).
activeviam.contentServer.restrictedListingWhether to restrict the content service's entries a user can list on a readable directory.
activeviam.contentService.nameGenerator.defaultSizeDefault size of the names generated by the content service.
activeviam.contentService.nameGenerator.prefixPrefix to add to the names generated by the content service.
activeviam.contentService.nameGenerator.sizeSize of the names generated by the content service.
activeviam.contentService.webSocket.reconnectionDelayTime in seconds to wait to retry the connection to a web socket.
activeviam.contentservice.rootName of the root role.
activeviam.contextvaluemanager.session.lifetimeMaximal lifetime of session context values (in seconds).
activeviam.continuousQueryMonitoringEnable/disable continuous query monitoring.
activeviam.copper.join.index.parallelismMaximal parallelism of the thread pool used for performing a parallel build of the index used to perform Copper join operations.
activeviam.dataexport.arrow.batchSizeNumber of records in Arrow batches.
activeviam.dataexportservice.rootpathRoot path in which to save the exported query results.
activeviam.datastore.query.maxLookupsOnSecondaryMaximal number of look-ups generated for a single condition on Secondary Index.
activeviam.datastore.query.maxLookupsOnUniqueMaximal number of look-ups generated for a single condition on Unique Index.
activeviam.datastore.query.maxRangeOperandsMaximal number of range operands with multiple values that are supported for a query using a unique or secondary index.
activeviam.datastore.schema.separatorPath separator to use.
activeviam.defaultChunkSizeDefault chunk size of the application.
activeviam.directquery.allowAggFactorizationSome SQL queries can be optimized by factorizing the aggregations in order to aggregate less values.
activeviam.directquery.enableUnsupportedDatabaseVersionWhether to allow DirectQuery to try to use an unsupported database version.
activeviam.distribution.gossip.router.enableEnable/disable the gossip router.
activeviam.distribution.gossip.router.portPort of the gossip router.
activeviam.distribution.log.size.thresholdThreshold (in bytes) above which the size of a IBroadcastMessage sent or received is logged at level INFO.
activeviam.distribution.maxPendingDiscoveriesMaximum number of pending initial discoveries that this instance can tolerate before refusing new ones.
activeviam.distribution.netty.bindAddressBind address for the Netty messenger.
activeviam.distribution.netty.externalAddressCurrent machine address or external public IP address.
activeviam.distribution.netty.portRangeRange of ports for Netty messenger.
activeviam.distribution.nettyMessageMaxSizeSize limit of messages (in bytes) sent over the network.
activeviam.distribution.query.throwOnMissingResponseWhether distributed queries should throw if responses from remote instances are missing.
activeviam.distribution.remote.pool.sizeNumber of worker threads in the remote pool.
activeviam.duringThreadNumberNumber of threads allocated by the application to trigger updates when using the function PAST_PERIODS.
activeviam.exportservice.rootpathRoot path in which to save the exported query results.
activeviam.external.retrieval.max.sizeMaximum size for which the building of the index used to perform Copper join operations is single threaded.
activeviam.handler.stored.maxSizeMaximum impact size above which a full (range) impact is returned for a given event.
activeviam.health.logHealth events to enable.
activeviam.i18nconfig.file.encodingThe encoding with which to decode internationalization files that are stored locally.
activeviam.jit.pointIndex.sizeMaximum size allowed for the point index in the Just In Time aggregate collector.
activeviam.jit.pointIndex.typeType of point index to use for the Just In Time aggregate collector.
activeviam.json.strongPrimitiveParsingEnables string JSON parsing from primitive types, where null are not automatically converted into the type default values.
activeviam.jwt.key.privatePrivate key used to sign tokens, encoded in Base64. Only RSA keys using the PKCS 8 standard are supported.
activeviam.jwt.key.publicPublic key used to verify the integrity of tokens, encoded in Base64. Only RSA keys using the PKCS 8 standard are supported.
activeviam.logicalAddressLogical address of the IActivePivot query or data cube in the cluster.
activeviam.maxDuringThreadNumberNumber of threads allocated by the application to trigger updates when using the function PAST_PERIODS.
activeviam.mdx.epoch.dimension.legacyNameWhether to rename the Epoch dimension/hierarchy to Branch (instead of Epoch).
activeviam.mdx.formula.callStackDepthLimitMaximum MDX call depth.
activeviam.mdx.largeMdxSetOptimizationWhether the MDX engine should optimize queries with large MDX sets.
activeviam.mdx.negativecellset.limitMaximum number of removed locations that can be handled by real-time MDX queries.
activeviam.mdx.queryBouncer.limitMaximum number of running mdx queries.
activeviam.mdx.queryBouncer.waitLimitWaiting time (in seconds) while trying to execute a query when the maximum number of allowed running queries has been reached.
activeviam.memory.legacyAllocationWhether to activate legacy allocation considering huge page alignment.
activeviam.minimalChunkSizeMinimal chunk size of the application.
activeviam.mmap.sampling.depthMaximum depth of the stacktrace when sampling is enabled.
activeviam.mmap.sampling.percentPercentage of allocations to sample.
activeviam.mmap.sampling.startWhether to start sampling as soon as the allocator is built.
activeviam.mmap.thresholdThreshold under which sun.misc.Unsafe is used for memory allocation.
activeviam.mmap.trackingEnable/disable mmap native memory tracking.
activeviam.msg.csv.reporting.maxAnomaliesThe maximum number of anomalies that are reported during the parsing of a CSV source.
activeviam.msg.reporting.enabledEnable/disable detailed report generation for data sources.
activeviam.nativeMemoryCacheRatioCache ratio.
activeviam.pool.nodesNodes on which the user is allowed to run.
activeviam.pool.policyNUMA thread placement policy.
activeviam.pool.procsHint about the number of available processors.
activeviam.pool.scheduler.sizeNumber of worker threads in the scheduler service.
activeviam.pool.sizeNumber of worker threads in the Atoti pools.
activeviam.postprocessor.partitionOnRangeLevelsByDefaultDefault behavior for post-processors supporting automatic expansion on range level partitioning.
activeviam.property.separatorExpression separator.
activeviam.protocolPathThe Distribution protocol file's path.
activeviam.queries.continuous.primitive.fullForkWhether to toggle the behavior of the primitive retrievals in continuous queries.
activeviam.query.execution.checksWhether ActivePivotAggregatesRetriever should perform extensive sanity checks.
activeviam.repository.cache.isolated_transactionsWhether parameter store transactions should be isolated or trigger transactions on the ActivePivots.
activeviam.repository.daemon.waitStableDistributionWhether the repository daemon should wait for the distributed architecture to be stable.
activeviam.repository.poll.log.thresholdThe number of polling failure the repository daemon has to reach before logging.
activeviam.repository.poll.periodPoll period of the Repository Daemon (in seconds).
activeviam.repository.poll.period.maxMaximum poll period of the Repository Daemon (in seconds).
activeviam.selection.listener.catchUpMaxTimeProperty that specifies with this the catchUpMaxTime (in seconds).
activeviam.slab.memory.allocation.strategyReserved memory to allocate for a given size of chunk.
activeviam.stream.configuration.gc.delayTime 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.attemptLimitMaximum number of attempts to register the continuous queries.
activeviam.streaming.MDX.attemptLimitMaximum number of attempts to register the continuous queries.
activeviam.streaming.initialPublicationModeDefault stream Initial publication mode.
activeviam.testPhasePropWhether the current environment is a test environment.
activeviam.vectorDelimiterVector delimiter when parsing vectors.
activeviam.vectors.allocator.pool.sizeNumber of vector allocators that are kept alive after thread death.
activeviam.vectors.defaultBlockSizeDefault block size of the application.
activeviam.vectors.garbageCollectionFactorGarbage collection factor for vectors.
activeviam.vectors.swap.directory.numberFilesMaximum number of swap files that will be created in one directory.
activeviam.webclient.codec.maxInMemorySizeMax size of webclient buffers in remote classes.
activeviam.xmlaDiscoveryApproxCardinalityBehavior during an XMLA discovery when computing hierarchy cardinality and level cardinality.
atoti.licenseAtoti license path.
logLoggerNameWhether to insert the name of the logger in logs.
logThreadWhether to insert the current thread in logs.
logUserWhether to insert the current user in logs.
stopwatch.disabledWhether to disable timings measurement.