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.serveri18n.local.enabledProperty to enable/disable i18n configuration from project files.
activeviam.serveri18n.content-service.enabledProperty to enable/disable i18n configuration from data in the Content Service.
atoti.server.endpoint.xmla.enabledProperty to enable/disable the XMLA endpoint autoconfiguration.
activeviam.pivot.enabledProperty to enable/disable the Atoti services autoconfiguration.
activeviam.ws.enabledProperty to enable/disable the Websocket endpoint autoconfiguration.
activeviam.version.security.enabledProperty to enable/disable the version endpoint autoconfiguration.
atoti.server.service.enabledProperty to enable/disable the Atoti Rest Services autoconfiguration.
atoti.server.endpoint.jwt.security.enabledProperty to enable/disable the JWT endpoint security autoconfiguration.
atoti.server.endpoint.content-service.security.enabledProperty to enable/disable the Content Service endpoint security autoconfiguration.
atoti.server.endpoint.xmla.security.enabledProperty to enable/disable the XMLA endpoint security autoconfiguration.
atoti.server.endpoint.security.enabledProperty to enable/disable the Atoti ActivePivot-related rest endpoints security autoconfiguration.
atoti.server.endpoint.diagnostics.security.enabledProperty to enable/disable the diagnostics security autoconfiguration.
atoti.server.endpoint.diagnostics.enabledProperty to enable/disable the diagnostics service autoconfiguration.
atoti.server.endpoint.database.security.enabledProperty 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.enabledProperty to enable the service reporting the health of the Atoti application through logs and events.
atoti.server.content-service.typeProperty to specify the type of Content Service to enable for the Atoti application, can be "remote" or "embedded".
atoti.server.content-service.pivot-integration.enabledProperty to enable/disable the initialization of an ActivePivotContentService for the Atoti application.
atoti.server.content-service.pivot-integration.roles.calculated-memberProperty to specify the role which allows to create calculated members in the IConfigurationService.
atoti.server.content-service.pivot-integration.roles.kpiProperty to specify the role which allows to create KPIs in IConfigurationService.
atoti.server.content-service.pivot-integration.cache.enabledProperty to enable/disable the caching of entitlements in the Content Service.
atoti.server.content-service.pivot-integration.cache.cache-entitlements-ttlProperty 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.enabledProperty to enable the initialization of the Content Server with the required structure to work with Atoti UI.
atoti.server.content-service.remote.uriProperty to specify the uri of the remote running Content Server.
atoti.server.content-service.remote.usernameProperty to specify the root username for special operations.
atoti.server.content-service.remote.max-connection-timeProperty to specify the maximum time (as a Duration) for establishing a connection to the remote Content Service.

Atoti AdminUI Starter Properties

PropertyDescription
atoti.server.security.adminui.enabledProperty to enable/disable the autoconfiguration of the security for this starter.

Atoti UI Starter Properties

PropertyDescription
atoti.server.security.ui.enabledProperty to enable/disable the autoconfiguration of the security for this starter.

Atoti APM Starter Properties

PropertyDescription
activeviam.apm.node.starter.logging.enabledProperty to enable/disable the logging autoconfiguration.
activeviam.apm.node.starter.jmx.enabledProperty to enable/disable the JMX autoconfiguration.
activeviam.apm.feed.loading.enabledProperty to enable/disable the Monitored Data Loading autoconfiguration.

Other Atoti Properties

PropertyDescription
activeviam.contentServer.remote.import.timeoutProperty that defines the read timeout for imports, in minutes.
activeviam.handler.stored.maxSizeProperty that defines the maximum impact size above which a full (range) impact is returned for a given event.
activeviam.mmap.thresholdProperty that sets the threshold under which sun.misc.Unsafe is used for memory allocation.
activeviam.mmap.trackingProperty that enables mmap native memory tracking.
activeviam.compression.chunkset.disableProperty that disables the ChunkSet compression.
activeviam.stream.configuration.gc.delayProperty 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.callStackDepthLimitProperty that sets the maximum MDX call depth.
activeviam.mdx.epoch.dimension.legacyNameProperty used to rename the Epoch dimension/hierarchy to Branch (instead of Epoch).
activeviam.completer.log.suppressedProperty that configures whether the suppressed exceptions should be logged or not.
activeviam.health.logProperty used to retrieve health events.
activeviam.contentservice.rootSystem property that configures the name of the root role.
activeviam.nativeMemoryCacheRatioSystem property that configures cache ratio.
activeviam.slab.memory.allocation.strategySystem property that configures the reserved memory to allocate for a given size of chunk.
activeviam.defaultChunkSizeSystem property that configures the default chunk size of the application.
activeviam.minimalChunkSizeSystem property that configures the minimal chunk size of the application.
activeviam.chunkGarbageCollectionFactorSystem property that configures the chunk garbage collection factor of the application.
activeviam.chunk.compression.frequentValueRatioSystem property controlling the ratio to compress chunks into frequent-value chunks, avoiding storing the repeated values.
activeviam.chunk.compression.enabledFrequentValueProperty controlling the activation of frequency compression for each type of chunks.
activeviam.chunkAllocatorKeyProperty that configures the chunk allocator, using its key.
activeviam.vectors.defaultBlockSizeSystem property that configures the default block size of the application.
activeviam.vectors.garbageCollectionFactorSystem property that configures the garbage collection factor for vectors.
activeviam.vectors.allocator.pool.sizeProperty that configures the number of vector allocators that are kept alive after thread death.
activeviam.vectors.swap.directory.numberFilesSystem property that configures the maximum number of swap files that will be created in one directory.
activeviam.vectorDelimiterProperty that defines the Vector delimiter when parsing vectors.
activeviam.queries.continuous.primitive.fullForkProperty that allows to toggle the behavior of the primitive retrievals in the continuous queries.
activeviam.postprocessor.partitionOnRangeLevelsByDefaultProperty that sets the default behavior for post-processors supporting automatic expansion on range level partitioning.
activeviam.distribution.gossip.router.portProperty that configures the port of the gossip router.
activeviam.distribution.gossip.router.enableProperty that enables the gossip router.
activeviam.logicalAddressProperty used by the messenger that defines the logical address of the IActivePivot query or data cube in the cluster.
activeviam.protocolPathProperty that specifies the distribution protocol file's path.
activeviam.distribution.netty.externalAddressProperty that defines the current machine address or the external public IP address.
activeviam.distribution.netty.portRangeProperty that defines the range of ports for Netty messenger.
activeviam.distribution.nettyMessageMaxSizeProperty that limits the size of messages (in bytes) sent over the network.
activeviam.distribution.netty.bindAddressThe bind address property for the Netty messenger.
activeviam.streaming.MDX.attemptLimitProperty that configures the maximum number of attempts to register the continuous queries.
activeviam.mdx.queryBouncer.limitProperty that configures the maximum number of running mdx queries.
activeviam.mdx.queryBouncer.waitLimitProperty 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.attemptLimitProperty that configures the maximum number of attempts to register the continuous queries.
activeviam.xmlaDiscoveryApproxCardinalityProperty that configures the behavior during an XMLA discovery when computing hierarchy cardinality and level cardinality.
activeviam.testPhaseProperty flagging the current environment as a test environment.
activeviam.pool.policySystem property that configures the NUMA thread placement policy.
activeviam.pool.sizeSystem property that configures the number of worker threads in the Atoti pools.
activeviam.pool.scheduler.sizeProperty that configures the number of worker threads in the scheduler service.
activeviam.external.retrieval.max.sizeProperty 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.parallelismProperty 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.separatorProperty setting the expression separator.
activeviam.collectible.query.typeProperty to specify which query type can be collected.
activeviam.mmap.sampling.depthProperty that sets maximum depth of the stacktrace in case sampling is enabled.
activeviam.mmap.sampling.startProperty to set to true to start sampling as soon as the allocator is built.
activeviam.mmap.sampling.percentProperty to set the percentage of allocations to sample.
stopwatch.disabledName of the property to give to the JVM to disable timings measurement.
activeviam.branch.masterSystem property to configure the name of the branch on which the real data are.
activeviam.query.execution.checksProperty allowing to configure extensive sanity checks performed by ActivePivotAggregatesRetriever.
atoti.licenseProperty that configures the Atoti license path.
activeviam.pool.nodesProperty to set the nodes on which the user is allowed to run.
activeviam.pool.procsProperty to hint ActivePivot about the number of available processors.
activeviam.jit.pointIndex.typeProperty that sets the type of point index to use for the Just In Time aggregate collector.
activeviam.jit.pointIndex.sizeProperty to set the maximum size allowed for the point index in the JIT aggregate collector.
activeviam.activepivot.expiredqueries.pollingProperty that defines the polling period (in seconds) for expired queries.
activeviam.streaming.initialPublicationModeSystem property used for defining the default stream Initial publication mode.
logUserSystem property to activate logging on the current user.
logThreadSystem property to activate logging on the current thread.
logLoggerNameSystem property to activate logging on the name of the logger.
activeviam.exportservice.rootpathProperty to set the root path in which to save the exported query results.
activeviam.dataexportservice.rootpathProperty to set the root path in which to save the exported query results.
activeviam.dataexport.arrow.batchSizeNumber of records in Arrow batches.
activeviam.duringThreadNumberSystem property to configure the number of threads allocated by the application to trigger updates when using the function PAST_PERIODS.
activeviam.maxDuringThreadNumberSystem property to configure the number of threads allocated by the application to trigger updates when using the function PAST_PERIODS.
activeviam.distribution.remote.pool.sizeSystem property to configure the number of worker threads in the remote pool.
activeviam.distribution.log.size.thresholdProperty to configure the threshold (in bytes) above which the size of a IBroadcastMessage sent or received is logged at level INFO.
activeviam.distribution.maxPendingDiscoveriesProperty used to configure the maximum number of pending initial discoveries that this instance can tolerate before refusing new ones.
activepivot.location.separator.hierarchyThe system property to use to override the hierarchy separator sequence.
activepivot.location.separator.levelThe system property to use to override the level separator sequence.
activepivot.location.wildcardThe system property to use to override the wildcard sequence.
activeviam.datastore.schema.separatorThe system property to use to override the path separator.
activeviam.conflation.maxQueueSizeProperty that sets the maximum size of the transaction queue for the master branch before we stop accepting transactions.
activeviam.conflation.maxDelayTimeProperty 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.sequentialProperty that controls whether conflated events of different types must be processed sequentially by the conflation event engine.
activeviam.activepivot.allowNoDimensionsProperty that allows the definition of pivots without dimensions.
activeviam.activepivot.ensureSerializableMeasuresForces the cube to check if all its measures are serializable.
activeviam.contentServer.restrictedListingProperty that restricts the content service's entries a user can list on a readable directory.
activeviam.repository.cache.isolated_transactionsProperty that controls whether parameter store transactions should be isolated or trigger transactions on the ActivePivots.
activeviam.repository.poll.periodProperty setting the poll period of the Repository Daemon (in seconds).
activeviam.repository.poll.period.maxProperty that sets the maximum poll period property of the Repository Daemon (in seconds).
activeviam.repository.poll.log.thresholdThe number of polling failure the repository daemon has to reach before logging.
activeviam.repository.daemon.waitStableDistributionProperty that controls whether the repository daemon should wait for the distributed architecture to be stable.
activemonitor.poll.periodThe poll period property of the ActiveMonitor Daemon (in seconds).
activemonitor.poll.period.maxThe maximum poll period property of the ActiveMonitor Daemon (in seconds).
activemonitor.poll.log.thresholdThe number of polling failure the activemonitor daemon has to reach before logging.
activemonitor.daemon.waitStableDistributionProperty that controls whether the activemonitor daemon should wait for the distributed architecture to be stable.
activemonitor.periodicExecutors.poolSizeProperty that controls the size of the periodic monitor executor pool.
activemonitor.activepivot.urlThe property that defines the url for the connection of a ActiveMonitor agent.
activemonitor.ui.urlThe property that defines the live url for the connection of a ActiveMonitor agent.
activeviam.continuousQueryMonitoringThe continuous query monitoring can be enabled/disabled at the application start through this system property.
activeviam.memory.legacyAllocationOption to activate legacy allocation considering huge page alignment.
activeviam.selection.listener.catchUpMaxTimeProperty that specifies with this the catchUpMaxTime in seconds.
activeviam.datastore.query.maxLookupsOnUniqueProperty configuring the maximal number of look-ups generated for a single condition on Unique Index.
activeviam.datastore.query.maxLookupsOnSecondaryProperty configuring the maximal number of look-ups generated for a single condition on Secondary Index.
activeviam.datastore.query.maxRangeOperandsProperty 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.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.i18nconfig.file.encodingThe encoding with which to decode internationalization files that are stored locally.
activeviam.msg.reporting.enabledProperty configuring detailed report generation for data sources.
activeviam.msg.csv.reporting.maxAnomaliesThe maximum number of anomalies that are reported during the parsing of a CSV source.
activeviam.json.strongPrimitiveParsingEnables string JSON parsing from primitive types, where null are not automatically converted into the type default values.
activeviam.directquery.enableUnsupportedDatabaseVersionProperty that allows DirectQuery to try to use an unsupported database version.
activeviam.directquery.allowAggFactorizationSome SQL queries can be optimized by factorizing the aggregations in order to aggregate less values.
activeviam.mdx.negativecellset.limitThe maximum number of removed locations that can be handled by real-time MDX queries.
activeviam.activecollector.renew.frequencyThe property to use to change to frequency at which fences are renewed (in ms).
activeviam.webclient.codec.maxInMemorySizeSystem property that configures the max size of webclient buffers in remote classes.
activeviam.contextvaluemanager.session.lifetimeThis property configures maximal lifetime of session context values, in seconds.
activeviam.contentService.nameGenerator.prefixSystem property to add a prefix to the names generated by the content service.
activeviam.contentService.nameGenerator.defaultSizeSystem property to set the default size for the names generated by the content service.
activeviam.contentService.webSocket.reconnectionDelaySystem property to set the time in seconds to wait to retry the connection to a web socket.
activeviam.contentService.nameGenerator.sizeSystem property to set the size for the names generated by the content service.
activeviam.mdx.largeMdxSetOptimizationProperty that allow the MDX engine to optimize queries with large MDX sets.
activeviam.distribution.query.throwOnMissingResponseProperty to make the distributed queries throw if responses from remote instances are missing.