For details about versioning, see our Versioning Policy.
The 6.2 branch forked the 6.1 branch from version 6.1.20.
See the 6.1 changelog for changes before the fork. Format based on Keep a Changelog
6.2.0-M1
2026-06-15Added
- PIVOT-10020 JDBC Source: Added
JdbcRowFailureEventand theonJdbcRecordFailedmethod onIJdbcSourceHealthEventHandler, so that health event handlers are now notified when an error occurs while processing a JDBC row. - PIVOT-12675 Cube Metadata: Added
isSlicing()toIHierarchyInfo, indicating whether the hierarchy is slicing (i.e., does not have an “All” member). AddedgetDefaultHierarchyInfo()toIDimensionInfo, returning the default hierarchy of the dimension.
Changed
- PIVOT-0000 Atoti UI: All Atoti UI artifacts (
atoti-ui,atoti-ui-initial-content,atoti-admin-ui) are now versioned by the singleatoti-ui.versionMaven property, as they are released in lockstep. Theadmin-ui.versionproperty is removed. Versions are aligned on 5.2.24 (previouslyatoti-ui.version5.2.20 andadmin-ui.version5.2.22). - PIVOT-11413 Datastore: Moved
NoTransactionExceptionin public API, from packagecom.activeviam.database.datastore.internaltocom.activeviam.database.datastore.api.transaction. - PIVOT-11541 Datastore: Removed the unnecessary
throws DatastoreTransactionExceptiondeclarations fromITransactionalWriter.remove/removeAll,IOpenedTransaction.updateWhere/rollback, andITransactionManager.rollbackTransaction/stop, which never threw it. AsDatastoreTransactionExceptionis a checked exception, remove anycatchclause that wrapped only these calls. - PIVOT-11619
IAgentdoes not extendIExtendedPluginValueanymore. If a given agent implementation needs to be an extended plugin value, that agent needs to explicitly declare its dependency toIExtendedPluginValue. - PIVOT-13108 Monitoring: The Queries Service monitoring previously provided by the
apmmodule is now built into Atoti Server: query counters and exception logging no longer require the APM module. The per-query report logs are now disabled by default and controlled by theactiveviam.queries.service.logging,activeviam.queries.service.detailed-loggingandactiveviam.queries.service.log-memory-statsproperties, or at runtime over JMX. Thename=QueriesService,type=MonitoringMBean is replaced byQueriesServiceStatistics(counters) andQueriesServiceLogging(logging toggles). See the migration notes. - PIVOT-13111 Logging: The Logback conversion-rule converters have been moved out of the
apmmodule.LogInstanceConverterandLogThreadConverterare now incom.activeviam.tech.logging.logback.api(artifactcom.activeviam.tech:logging-logback), andLogUserConverteris now incom.activeviam.tech.logging.logback.spring.api(artifactcom.activeviam.tech:logging-logback-spring). Update the fully-qualified class names referenced in yourlogback.xml/logback-spring.xml<conversionRule>declarations. - PIVOT-13324 Observability: Atoti JFR events have been renamed to follow Oracle’s JFR naming and labeling guidelines. Event names now share a flat
atoti.*namespace (e.g.atoti.CubeCommitinstead ofatoti.server.cube.CubeCommitEvent), theEventsuffix has been dropped, and labels use headline-style capitalization. JFR configuration files referencing the previous names must be updated; see JFR events for the new identifiers. - PIVOT-13635 Build: Atoti Server requires Java 25
- PIVOT-13720 Default cursor batch size raised from
16to128, which benchmarking identified as a more performant default. The previous value can be restored at startup via theatoti.server.records.cursor.batchSizesystem property. - PIVOT-13785 Observability: The type of some metric tags has changed from String to a more appropriate type such as
boolean,longorList<String>.
| Tag | New Type |
|---|---|
| agg_provider.partition.id | long |
| atoti.root.mode | boolean |
| cache | boolean |
| cube-names | List<String> |
| cube.epoch.current | long |
| epoch-id | long |
| is-transaction-shadow | boolean |
| measures | List<String> |
| node.id | long |
| partition.id | long |
| number-events | long |
| query.fields | List<String> |
| snowflake-resultset-count | long |
| source-list-topics | List<String> |
| stores-locked-by-transaction | List<String> |
| success | boolean |
| writable-stores | List<String> |
- PIVOT-13948 Datastore:
StoreDescription,OptimizationDescriptionandSimpleStoreDescriptionBuilder.keyFieldNames(...)now accept aCollection<String>instead of aList<String>for key/index field names to enhance the fact that the order is ignored. - PIVOT-13949 Upgraded Jackson’s version to
3.1.2. - PIVOT-13963 Atoti UI: Bumped
atoti-ui.versionfrom 5.2.20 to 5.2.24 andadmin-ui.versionfrom 5.2.22 to 5.2.24. - PIVOT-13994 Distribution: Moved
IMultiVersionDataActivePivotfrom packagecom.activeviam.activepivot.dist.impl.api.cubetocom.activeviam.activepivot.dist.datanode.impl.api.cube. - PIVOT-14110 DLC: Errors raised while creating a local CSV topic include more information.
Deprecated
- PIVOT-13676
IActivePivotContentServiceConfigis deprecated and scheduled for removal in 6.3.0. InjectIActivePivotContentServicedirectly as a Spring bean instead of implementing this configuration interface.
Removed
- PIVOT-10061 Parsers: Removed the deprecated
integerandinteger[]parser type keys (including sized and delimited variants). Use the equivalentintandint[]keys instead; the parsing behavior is unchanged. - PIVOT-10231 Direct Query Snowflake: Removed the deprecated
SnowflakeDialectSettings#arrayAggWrapperFunctionNamesetting and theARRAY_AGG_WRAPPER_FUNCTION_NAMEconnection option used to wrapARRAY_AGGoperations with a custom UDF. The built-in Snowflake SQL function is now faster, so the wrapper is no longer needed. - PIVOT-10885 Distribution: Removed the deprecated
String-based distributing level APIs.IApplicationDescriptionBuilderWithId#withDistributingFields(String...),IDistributedApplicationDefinition#getDistributingFields(), and theQueryClusterDefinition.DistributedApplicationDefinition(String, List<String>)constructor have been removed; usewithDistributingLevels(LevelIdentifier...),getDistributingLevels(), andQueryClusterDefinition.DistributedApplicationDefinition(String, List<LevelIdentifier>)instead.IApplicationDescriptionBuilderWithId#withoutDistributingFields()has been renamed towithoutDistributingLevels(), andQueryClusterDefinition.DistributedApplicationDefinitionV2has been renamed toQueryClusterDefinition.DistributedApplicationDefinition. - PIVOT-12455 Versioning: Removed
IVersionLifecycleHandlerfrom the public API. - PIVOT-13523 The JMX attributes and operations of the datastore
TransactionManager(getLatestTransactionTime,getAvgTransactionTime,getNumberTransactions,getAddedOrUpdatedRecords,getRemovedRecords,addSpeed,removalSpeed) are no longer exposed. Use the metrics sent to the observability backend via OpenTelemetry instead. - PIVOT-13524 Removed the deprecated
ICsvSourceConfigurationinterface. UseCsvSourceConfigurationdirectly. - PIVOT-13525 Removed
ICsvParserConfiguration,IFileParserConfigurationandFileParserConfiguration. UseCsvParserConfigurationdirectly. - PIVOT-13526
DataTablehas been removed. UseStoreDescriptionfor a datastore table or aTableDescriptionfor a DirectQuery table. - PIVOT-13529 Removed the deprecated
IParquetReaderFactory#create(InputFile, ReadSupport, org.apache.hadoop.conf.Configuration)overload. Use the overload taking aParquetConfigurationinstead; wrap an existing HadoopConfigurationwithnew HadoopParquetConfiguration(...). - PIVOT-13532 Distribution: Removed the deprecated concealed measures feature. The
withConcealedMeasuresbuilder methods,IDataClusterDefinition#getConcealedMeasures/setConcealedMeasures, and the now-redundantwithAllMeasuresbuilder step have been removed. Concealing hierarchies and branches is still supported. - PIVOT-13785 Removed
IQuery#collectAdditionalSpanAttributes(BiConsumer<String, String>)and its implementations. - PIVOT-13913 Direct Query Databricks: Removed the deprecated feature of UDAF for vector aggregation.
- PIVOT-14017 Removed the deprecated
StartBuilding.Builder#withEpochManager(IEpochManager)method. UseStartBuilding.Builder#withEpochPolicy(IEpochManagementPolicy)instead. - PIVOT-14019 Removed the deprecated
PersistedBuilder#lockOptions(boolean)method, which was public by mistake. UsePersistedBuilder#databaseLocks(LockOptions)instead. - PIVOT-14020 Removed the unusable
IMessengerDefinition.AGENTSandIMessengerDefinition.SEPARATORconstants. AllIDistributedAgentimplementations are internal API, so the constants had no supported use. - PIVOT-14025 Removed the deprecated duplicate APIs in the
io.atoti.runtime.api.measuresandio.atoti.server.common.api.pluginspackages. Use theircom.activeviam.atoti.application.api.measuresandcom.activeviam.atoti.server.common.api.pluginscounterparts. - PIVOT-14028 Distribution: Removed the deprecated
IMultiVersionDistributedActivePivot#unloadMembersFromDataNodemethod, along with its internalUnloadMemberMessage, theIMessengerDefinition#UNLOAD_MEMBERS_MESSAGE_TIMEOUTproperty and the relateddistribution.unload_members_from_data_node.*metrics. UseIMultiVersionDataActivePivot#maskMembersandIMultiVersionDataActivePivot#unmaskMembersinstead. - PIVOT-14035 Removed the deprecated 4-argument constructor of
ActivePivotTransactionCommittedEvent. Use the 6-argument constructor instead, passing-1, -1for the start and commit timings when they are unknown. - PIVOT-14044 Removed the deprecated
IGenericAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEYconstant. UseIMultiSourceAggregationFunction.SUM_PRODUCT_FUNCTION_PLUGIN_KEYinstead. - PIVOT-14054 Query API: Removed the deprecated constructors of
GetAggregatesQueryandDrillthroughQuery. Use their respective builders instead. - PIVOT-14054 CSV Source: Removed the deprecated constructors of
CsvParserConfigurationandCsvSourceConfiguration. UseCsvParserConfiguration.builder()andCsvSourceConfiguration.builder()instead. - PIVOT-14096 Removed the empty Maven module
com.activeviam.springboot:atoti-runtime-starter, kept as an alias since it was renamed in 6.1. Usecom.activeviam.springboot:atoti-server-application-starterinstead. - PIVOT-14097 Removed the empty Maven module
com.activeviam.activepivot:activepivot-ext. Importcom.activeviam.activepivot:coreand optionallycom.activeviam.activepivot:activepivot-dist-implinstead.
Fixed
- PIVOT-11585 Content Server: Fixed a startup race in high-availability deployments where two instances initializing concurrently against a fresh shared database could both attempt to create the root directory, causing one of them to fail to start with
IllegalStateException: Entry at path / already exists. - PIVOT-13743 Cube: Reduce the creation of transient
HierarchyIdentifierobjects. - PIVOT-13947 Continuous GAQ REST API: Stopping a publisher now cancels all the continuous queries it owns.
- PIVOT-13986 MDX: Non-empty cross-join evaluation now periodically checks for interruption, attempting to exit early from a big cross-join when the query has been stopped (cancellation or timeout).
- PIVOT-14012 DirectQuery: Primary-key discovery is now skipped for views, which have no primary key. This avoids discovery failures with JDBC drivers that reject the primary-key metadata query on a view instead of returning no rows.
Security
- PIVOT-13980 Security: Removed the
activeviam.jwt.*application properties, deprecated since 6.1. Use theatoti.jwt.*equivalents instead. Theexpirationproperty is aDuration. The available formats are described in Spring’s documentation. For this property, a unitless integer will represent Seconds.