Changelog
For user-facing changes, refer to the What's New? page.
The format is based on Keep a Changelog and this project adheres to Romantic Versioning.
The 6.1 branch forked the 6.0 branch from version 6.0.14.
See the 6.0 changelog for changes before the fork.
6.1.2
2024-11-28
Added
- PIVOT-8019 Pivot: Added
MaxAppendOnlyFunctionandMinAppendOnlyFunctionaggregation functions that do not support disaggregation but can be used within an aggregate provider. - PIVOT-10009 Observability: Added the new metrics
atoti.database.data_model_transaction.hitandatoti.database.data_model_transaction.timeto monitor the schema update on the database. - PIVOT-10481 Added a logger named
atoti.server.directquery.driver_managerfor JDBC connection about driver registrations and connections. It helps debugging connection issues by logging what happens in thejava.sql.DriverManager. These logs include the connection URL, so in case the user has put sensitive information in it, it should be deactivated. - PIVOT-10599 Copper: Added a
Copper.experimental().withContinuousQueryHandlers(...)to manage continuous query handlers on every copper measure.
Changed
- PIVOT-9589 Added the exception stacktrace to the logs produced for REST / HTTP exceptions.
- PIVOT-9589 Use a lower logging level for HTTP errors caused by clients, such as 400 and 404 errors.
- PIVOT-10289 Pivot: Improve Copper's parent value measure to not clear all the filters of the drilled hierarchies. This should speeds up queries.
- PIVOT-10309 Distribution: Builder for
ApplicationWithDatastorenow allows to skip the datastore description. This is useful when configuring query nodes. - PIVOT-10528 Monitoring: Assigned random names to all beans created by Atoti Server. These beans still must be used through their types, unless documented otherwise. This prevents name clashes with simple names like
properties. - PIVOT-10576 DirectQuery: Changed the experimental API for emulated time-travel. See the associated documentation.
Fixed
- PIVOT-7123 Fix Class Cast Exception that would occur when performing a data export from an MDX Query containing a calculated member.
- PIVOT-10183 Interrupt the running datastore drillthrough query when unregistering a drillthrough stream.
- PIVOT-10241 Stop discarding the result of top level
AAggregatesRetrieval. Such a discarding was causing random false results in a distributed application with aLocalMessenger. Since theLocalMessengerdoes not copy results, but transfers them to the QueryNode as is, the result could potentially be discarded before being reduced by the QueryCube. - PIVOT-10520 Ensure that all MBeans available in 6.0 are available in 6.1
- PIVOT-10529 DirectQuery: Fix issue with Aggregate Table bootstrapper when using multiple hierarchies on the same aliased field.
- PIVOT-10537 DirectQuery: Fix issue with Aggregate Table bootstrapper when using the same group by field with different paths.
- PIVOT-10538 DirectQuery: Fix issue with Aggregate Table bootstrapper when using native measures such as
contributors.COUNTorupdate.TIMESTAMP. - PIVOT-10580 Xmla: Creating calculated members with the same name from different session could lead to a corrupted MdxContext.
- PIVOT-10618 Fix NullPointerException when logging a dictionary with a null key in
DomainDictionaryProvider. - PIVOT-10622 Fix Logback logger when using APM. This resulted in broken logs, with remaining
{}in it. - PIVOT-10622 Fix default Slf4j logger when using APM. This resulted in broken logs, with all values presented as as list upfront.
- PIVOT-10649 DirectQuery Aggregate Table Bootstrapper: Fix issue with the bootstrapper when using COUNT(field) measure.
6.1.1
2024-10-17
Added
- PIVOT-9968 Provide a way to pass an
IMemoryCollectortoIInternalMemoryMonitored#getMemoryStatistics(memoryCollector)in order to prevent the count of duplicated blocks. - PIVOT-6558 Added the AI-based aggregate provider recommendation as an experimental feature. See the associated documentation.
- PIVOT-9978 Add the method
Registry#setType(Class, Class)to programmatically register an Atoti Type. - PIVOT-10285 JDBC Source: Added a method
IJdbcSourceBuilder.parsingReportEnabled(boolean)to enable the reporting of parsing anomalies. - PIVOT-10338 Added
OpenedTransactionTestWrapperto facilitate transaction on specific fields for tests. - PIVOT-10367 Cloud source API: Added a
CloudMultipleEntitiesCsvTopicto read multiple CSV files explicitly defined from a cloud storage. - PIVOT-10409 ActiveViam properties: Added
activeviam.activepivot.ensureSerializableMeasuresto ensure every measure is serializable. - PIVOT-10516 MBean for stream management is now part of the Atoti Server starter.
Changed
- PIVOT-4809 Copper:
Copper.storeLookupno longer creates intermediate measures for constant values. - PIVOT-9589 Added a short description and error id to REST exceptions
- PIVOT-9724 Update the Content Service Name Generator to generated fixed prefix based of the
Property
activeviam.contentService.nameGenerator.size. - PIVOT-10103 Loading invalid Calculated Members or KPIs from the Content Server log instead of throwing.
- PIVOT-10117 Improve performance of some vector operations. This can mostly be felt in the primitive retrievals, or in the first post processor performing vector operations on top of said retrievals.
- PIVOT-10304 Update the condition to import the
DatabaseRestServicesConfigin the starter configuration from having aIActivePivotManagerBean from having aIDatabaseConfigBean.
Deprecated
- PIVOT-9724 Content Service Property: Deprecated
activeviam.contentService.nameGenerator.defaultSize, use insteadactiveviam.contentService.nameGenerator.size. - PIVOT-10188 CSV Source API: Deprecated
ICsvParserConfiguration,IFileParserConfiguration,FileParserConfiguration, use insteadCsvParserConfiguration. - PIVOT-10188 CSV Source API: Deprecated all constructors and setters of
CsvParserConfiguration, use insteadCsvParserConfiguration#builder. - PIVOT-10142 Source API: Deprecated
ITranslator#setColumnCalculators()and all the empty constructors of its implementation classes (ATranslator,AColumnarTranslator,AHeaderTranslator,HeaderColumnarTranslator,IdentityTranslator,PojoTuplizer,MapTranslator,TupleTranslator). Use instead the new constructors with the list of column calculators. - PIVOT-10142 Source API: Deprecated
ATranslator, use insteadATranslatorWithColumnCalculators. It is the same class with a more explicit name to underline the fact that it is a translator that uses column calculators. - PIVOT-10142 CSV Source API: Deprecated
IHeaderTranslatorand all its methods in the implementation classes (AHeaderTranslator,HeaderColumnarTranslator), those are made internal. - PIVOT-10142 CSV Source API: Deprecated
AHeaderTranslator#setTranslator()andAHeaderTranslator#setMaxWaitHeaderTime(), use instead the constructor with the corresponding parameters in the implementation classHeaderColumnarTranslator. - PIVOT-10219 Misc: Deprecated
ZeroVector. Please use the methods inSameValueVectorUtilsto create such a vector, e.g.SameValueVectorUtils#doubleVector(10, 0.0). - PIVOT-10231 DirectQuery: Deprecated
SnowflakeDialectSettings#arrayAggWrapperFunctionName(). It's better not to set it, so the queries use the SQL built-in functionARRAY_AGG(which has been improved by Snowflake). - PIVOT-10256 CSV Source API: Deprecated
CsvSourceFactoryand its associates methodsCsvSourceFactory#create. Use insteadICsvSource#builderorICsvSource#builderForLocalFiles. - PIVOT-10258 Source API: Deprecated
IMapTranslator. - PIVOT-10261 Source API: Mark objects
MapTranslator,MapTuplizer,PojoTuplizeras internal. - PIVOT-10261 Source API: deprecate
ActiveViamProperty.PARSING_REPORT_ENABLEDandActiveViamProperty.CSV_PARSING_REPORT_MAX_ANOMALIES. You can define those properties in theCsvSourceConfiguration#builder()or inIJdbcSource.builder(). - PIVOT-10284 JDBC source API: Deprecated
IJdbcTopic. Use instead the constructor of the concrete implementationJdbcTopic. - PIVOT-10284 JDBC source API: Deprecated
JdbcTopicconstructors. Use instead the fluent builderJdbcTopic#builder(). - PIVOT-10284 JDBC source API: Deprecated
JdbcSourceBuilder#withAppendBatchSize(). This can now be configured at the topic level:JdbcTopic#builder(). - PIVOT-10353 CSV Source API: Deprecate
IColumnarTranslator#setHeaderCheckandIColumnarTranslator#getColumnPosition. AsIColumnarTranslatorthus becomes a marker interface, it will also be removed from the public API. - PIVOT-10367 Cloud source API: Deprecated
ICloudCsvTopicand its methodICloudCsvTopic#setPattern(). Use instead the constructor of the concrete implementationCloudDirectoryCsvTopicwith the pattern as a parameter. - PIVOT-10369 Cloud source API: Deprecated
CloudFetchingConfigsetters and constructors. Use instead the builderCloudFetchingConfig.builder().
Removed
- PIVOT-10376 Cube builder: A JIT aggregate provider could accept a custom partitioning and ignore it. It will now throw during the build.
Fixed
- PIVOT-7536 Misc: Fixed issue
fill(-1.0)method for chunks of double and floats. - PIVOT-10075 Pivot: Attempt to cache the intersections of primitive retrievals' filters with provider' filters to improve performance of queries with multiple primitive retrievals.
- PIVOT-10203 The queries time limit of the Drillthrough queries was not propagated to the database.
- PIVOT-10220 Pivot: Fix UDAFs and Basic Post-Processors evaluation. They could be called on locations where their underlying measures had no values (but where contributors.COUNT was not null).
- PIVOT-10312 DirectQuery: Fixed issue with native time-travel on Snowflake and Databricks, which could not be enabled.
- PIVOT-10313 DirectQuery: Implementations of
IDatabaseSettingsare now fully immutable. - PIVOT-10385 Some queries where not partitioned with using the JIT aggregate provider on DirectQuery.
- PIVOT-10407 Concurrency: Some MDX queries could lead to an infinite loop of
IllegalStateException. - PIVOT-10434 Observability: Fixed multiple registrations of gauge metrics. Issue was showing up in the logs as
Instrument ... has recorded multiple values for the same attributes. - PIVOT-10450 The DataExport service no longer incorrectly filters out empty cells. See this migration note for more details.
- PIVOT-10453 Fix issue in NON EMPTY Crossjoin causing empty result.
- PIVOT-10469 Pivot: Improved performance of DrilldownMember. This will improve queries made by Excel when using the Collapse feature.
- PIVOT-10498 Use the default cube formatter if no existing cube formatter is given
Dependencies
- PIVOT-10410 Bump
org.springframework.boot:spring-boot-dependenciesfrom3.2.9to3.2.10. - PIVOT-10410 Bump
com.google.cloud:libraries-bomfrom26.45.0to26.47.0. - PIVOT-10410 Bump
software.amazon.awssdk:bomfrom2.27.17to2.28.10. - PIVOT-10410 Bump
com.clickhouse:clickhouse-http-clientandcom.clickhouse:clickhouse-datafrom0.6.4to0.6.5.
6.1.0
2024-09-06
Added
- PIVOT-4994 Added new method
IDataClusterDefinition.setConcealBranches()to hide the branches of the data cube from the query cubes. - PIVOT-6117
SameValueVectorstores a vector, whose elements are all the same. Its usage is similar toZeroVector. - PIVOT-6514 Added an array formatter for measures. See the associated documentation.
- PIVOT-6525 DirectQuery: introduce mechanism to incrementally refresh cube with data from external database. See
com.activeviam.directquery.application.api.Application#refresh(ChangeDescription)and associated documentation. - PIVOT-7933 DirectQuery Aggregate Tables is now an official feature and is no longer experimental.
- PIVOT-8186 Added a new class
DimensionIdentifierthat uniquely identifies a dimension within a cube. This object is accessible fromIDimensionInfo. - PIVOT-8402 Added a public test API in the form of the Maven module
com.activeviam:atoti-server-test. - PIVOT-8408 The post processor output type can now be configured using
BuildablePostProcessorBuilder.withOutputType(String type). - PIVOT-8478 Added a new class
com.activeviam.pivot.server.spring.api.Servicesto createIDatabaseService. - PIVOT-8525 Added
.hideGrandTotals(int... axisOrdinals)to the shared context mdx builder. - PIVOT-8655 The array readers of the Copper API now have a
size()method. - PIVOT-8813 Added
IDatabase.getVersion(long)to retrieve a past version. - PIVOT-8830 Added
Registry.parseAnnotatedClasses()andRegistry.scanPackages()to set the registry contribution provider. - PIVOT-8903 Added method
ICubeFilter.isHierarchyRestricted(HierarchyIdentifier). - PIVOT-8918 Added
FieldTypeBuilder(created withFieldType.builder()) to create aFieldType. - PIVOT-8919 Added a warning message when using an old
ActiveViamPropertythat no longer exists. - PIVOT-8980 Add an error message to signal that, in one cluster, a hierarchy is slicing in some data nodes but non-slicing in other data nodes.
- PIVOT-8994 Added
MemoryUtilto get info about direct memory consumption. - PIVOT-9505 Ability to use comparison operations (<, <=, > and >=) in Aggregate Tables.
- PIVOT-9511 Added method
ICanStartBuildingHierarchy.withHierarchy(IAxisHierarchyDescription)to add a hierarchy from its description. - PIVOT-9653 The names of the Databricks UDAFs on vectors can be overridden (see Databricks documentation).
- PIVOT-9708 Information about aggregate providers can be retrieved via
IActivePivotVersion#getAggregateProviderStatisticsandIActivePivotVersion#getPartialAggregateProviderNames. - PIVOT-9829 Added
getNametoIAggregateProviderDefinition. - PIVOT-9875 Optimized creation of vector allocation settings.
- PIVOT-9929 The constructor
AxisLevelDescription(levelName)was restored. - PIVOT-9999 Dedicated data structure to hold nullable boolean data. This reduces memory usage for such data, and also fixes a bug when frequent value compression was used on such data.
- PIVOT-10003 DirectQuery: emulated time-travel is available for all databases as an experimental feature. See the associated documentation.
- PIVOT-10132 The number of available processors on the current machine can be retrieved using
PlatformUtil.getProcessorCount(). - PIVOT-10138 Added methods
IParser.create,IParser.createPluginKey,IParser.createPluginKeyForVector,IFormatter.createandIFormatter.createWithLocale. - PIVOT-10171 Add a
copymethod onIRecordReader. This is useful to keep a copy of the current record when iterating on aICursor.
Changed
- PIVOT-5228 Renamed fields, methods and constants in
ALocationShiftPostProcessor. See the migration notes. - PIVOT-5848 The property
IAnalysisHierarchy#LEVEL_TYPES_PROPERTYhas been moved toIAxisLevelDescription#LEVEL_TYPE_PROPERTYand is to be used on a per-level basis (see migration notes). - PIVOT-6743 Renamed
ActiveUIContentServiceUtiltoAtotiUiContentServiceUtil. - PIVOT-7045 In the data source APIs, the
MapTuplizer, used to transform a record written as a mapcolumnNametovalue, now has a single generic typeVinstead of two. This generic type is still the type of the values.MapTuplizer's contract and implementation are otherwise unchanged. - PIVOT-7255 When parsing level descriptions, leading and trailing spaces are no longer trimmed.
- PIVOT-7285
IRefreshable#fullRefreshis now calledIRefreshable#refresh.IRefreshable#restartrestarts the cube. - PIVOT-7424 Description objects are no longer boxing primitive type attributes when it is not necessary.
- PIVOT-7541 Use Java 21 as the new baseline.
- PIVOT-7605 Renamed the license environment variable from
ACTIVEPIVOT_LICENSEtoATOTI_LICENSE. Renamed the license system property fromactivepivot.licensetoatoti.license. - PIVOT-7653 Aggregation function's
IHistoryno longer implementIClone. Users are instead required to implement adeepCopy()method instead. - PIVOT-7762 Renamed
Types#isDictionary(int)toTypes#isDictionarized(int). - PIVOT-7762 Renamed
IFieldType#supportsEmptyString()toIFieldType#supportEmptyString(). - PIVOT-7762 Renamed
Types.TypeInformation#canBeEmptyStringtoTypes.TypeInformation#supportEmptyString. - PIVOT-7762 Renamed
StoreFieldMonitor#getIsDictionary()toStoreFieldMonitor#getIsDictionarized(). - PIVOT-7857
com.activeviam.database.api.query.IStreamListViewListenermethods has no more default do nothing implementation. User has to choose the default implementation. - PIVOT-7982 Changed the signatures of several testing methods. They now use
LevelIdentifierinstead of level description. - PIVOT-7982 Change the signatures of several methods to configure the Mdx context. They now use
DimensionIdentifier,HierarchyIdentifierorLevelIdentifierinstead of unique names. - PIVOT-7983
EpochFormatteris now internal and is the default epoch level formatter forIEpochDimensionDescription. - PIVOT-7983
IReferenceDescription.getFieldsMapping()has been renamedIReferenceDescription.getFieldMappings(). - PIVOT-8024 The column type
TIMESTAMPTZin Redshift is discovered asStandardTypes.TIMESTAMPinstead ofStandardTypes.ZONED_DATE_TIME. - PIVOT-8063 The required configuration file tracing.properties was removed. The tracing configuration is now pulled from the standard Spring environment. Projects putting properties in this file shall consider migrating them to the standard configuration files like application.yml or application.properties.
- PIVOT-8167
new ParquetParserBuilder(datastore)is now internal. UseIParquetParser.builder(datastore)instead. - PIVOT-8185 Moved static
CopperLevel#at([...])method toCopper#levelsAt([...])andCopperLevelclass methodslevel.at([...])andlevel.atValue([...])to static methods, respectivelyCopper#levelAt(level,[...])andCopper#levelAtValue(level,[...]). - PIVOT-8186 The
ICubeFormattercontract was modernized to promoteLevelIdentifierandHierarchyIdentifierand remove some ambiguity.ACubeFormatterwas removed. - PIVOT-8186 The
Statistics - Queries - total countMBean attribute has been renamedNb of running queries. - PIVOT-8186 The constructor for
IDrillthroughExecutornow only has one parameter:IDrillthroughSession, thePropertiesparameter was removed. It is now inIDrillthroughSession.getProperties(). - PIVOT-8189 The
activeviam.mdx.result.aggresiveAxisPositionLimitCheckproperty is now replaced withMdxContext.setAggressiveAxisPositionLimitCheckand is enabled by default. - PIVOT-8192
IPluginValue#key()now returns aStringinstead of anObject. - PIVOT-8199
ICatalogis no longer aQuartetType. - PIVOT-8244 Merged
IReadableDatastoreinIDatastore. - PIVOT-8245 Replaced
ITransactionalWriter.getMetadata()andIStoreMessageChannelFactory.getSchemaMetadata()that returned anIDatastoreSchemaMetadataby respectivelyITransactionalWriter.getSchemaDescription()andIStoreMessageChannelFactory.getSchemaDescription()that return anIDatastoreSchemaDescription. - PIVOT-8246
JungSchemaPrinterhas been moved to its own maven moduledatastore-schema-printerin the packagecom.activeviam.database.datastore.schemaprinter.api. - PIVOT-8283 Queries on a horizontally distributed cluster will now be distributed up to the first non-distributed post-processor of the operations chain (versus being distributed from the first distributed post-processor of the chain). The old behavior can be obtained by using the
DISTRIBUTION_BEHAVIOR_OVERRIDE_PROPERTYproperty (see the migration notes) - PIVOT-8284
IDataStreamer.registerListStreamViewuses nowRegistrationOptionsto wrap the options of the registration. - PIVOT-8285
QFSRegistry,QfsRegistryCreatorandIRegistryCreatorhave been renamed and are now internal. See migration notes - PIVOT-8304 The
CubeTesterBuilderExtensionis nowTesterBuilderExtension. See the migration notes to properly register the new extension. - PIVOT-8333 Changed naming convention:
ExternalDatastoreRetrievalis now calledDatabaseRetrieval. This change prevents any confusion between database retrievals that access an external database, through the DirectQuery feature, and retrievals that are associated with Copper joins, and were previously calledExternal. - PIVOT-8333 Changed ActivePivot REST API version from
8to9x1due to breaking changes. - PIVOT-8377
ISelectionDescriptionBuilder.withField(String name)has been de-deprecated. However, the name argument must now be a field name only, and not a field expression. - PIVOT-8396
JDBCColumnParserhas been renamedJdbcDefaultColumnCalculator. - PIVOT-8404 Migrated AWS cloud source to AWS Java SDK v2. In practice, that implies relying on
software.amazon.awssdkinstead ofcom.amazonaws. - PIVOT-8404 Cloud sources: The generics parameters in the API interface have been modified (
ICloudEntity,ICloudEntityPath,ICloudDirectory, ...) in order to be less tied to the cloud vendor sdk implementation. - PIVOT-8472
Condition#relativeis renamed toCondition#unknown, the behavior stays the same. - PIVOT-8514
[Measures].[Measures]has been renamedMeasuresin all CSV export files. - PIVOT-8590 In cube builder fluent API, method
.withFilter(...)was renamed to.withFactFilter(...). - PIVOT-8621 The signature of
INumaNodeSelectorFactory.createhas been changed. - PIVOT-8647 The value of the
STREAM_MEASURE_PROPERTYproperty name inNeighborValuePostProcessorandATimeLinePostProcessorhas been changed toIPostProcessor.UNDERLYING_MEASURESproperty name for consistency value. - PIVOT-8656
IReferenceDescription#getFieldMappings()now returns aSet<FieldMapping>. - PIVOT-8656 The constructors of
DatastoreSchemaDescriptionnow require a List ofIStoreDescriptioninstead of a Collection. - PIVOT-8658
ICursorConvertercan now be applied on a cursor by callingICursorConverter.convertCursor() - PIVOT-8663 Methods of
QfsWebUtilshave been migrated tocom.activeviam.web.core.api.IUrlBuilder. - PIVOT-8663 Constructor of
JwtAuthenticationProviderhas been replaced by a builder available usingJwtAuthenticationProvider#builder(). - PIVOT-8663 Constructor of
JwtServicehas been replaced by a builder available usingJwtService#builder(). - PIVOT-8664
com.qfs.server.cfg.content.IActivePivotContentServiceConfigdoes not defined anymore the beancontentServicefrom itsActivePivotContentService. It must be defined manually beforehand. - PIVOT-8739 Renamed
QuartetExtendedPlugin,QuartetExtendedPluginValue,QuartetPlugin,QuartetPluginValueandQuartetTypeintoAtotiExtendedPlugin,AtotiExtendedPluginValue,AtotiPlugin,AtotiPluginValueandAtotiType. - PIVOT-8777
AAnalysisHierarchyV2has been renamedAAnalysisHierarchy. - PIVOT-8797 Renamed all JDBC source related classes from JDBC to Jdbc (e.g.
IJDBCSourcebecomesIJdbcSource) - PIVOT-8797 Renamed all CSV source related classes from CSV to Csv (e.g.
ICSVSourcebecomesICsvSource) - PIVOT-8798 Renamed
QfsResultSetRowtoResultSetRow. - PIVOT-8798 Custom aggregation implementing
IGenericAggregationno longer need to implementcreateChunkFactory. The chunk creation is now automatically handled by Atoti. ThecreateChunkFactorymethod has been replaced by the simpler methodAggregationChunksSetting getChunksSetting(). See the custom aggregation documentation for more details on this. - PIVOT-8809
IIterableAggregatesRetrievalResult.transferValuesnow takes aIWritableRecordinstead ofRecordorObject[]. - PIVOT-8830
Registry.getRegistry()andRegistry.setContributionProvider()methods have been moved to an internal class.Registry#initializeis now the single point of entry to the registry. - PIVOT-8860
AStoreStreamnow returns records in plain (undictionarized) format. TheresultFormatfield now holds plain (undictionarized)IRecordFormatof the query result. - PIVOT-8914 Static constants defined in
IDistributedMessengerare now available incom.activeviam.activepivot.core.intf.api.description.IMessengerDefinition. - PIVOT-8918
IFieldTypeno more holds information about dictionarization. - PIVOT-8918 Renamed
IFieldType.getDataType()toIFieldType.getUndictionarizedDataType(). - PIVOT-8918 Renamed
FieldType.ofAny(Object)toFieldType.ofObject(Object). - PIVOT-8950 Implemented conditional logging of property sources, ensuring logs are generated only at the debug level. Make sure to update logging configurations in analysis or monitoring systems accordingly.
- PIVOT-9027 Changed API of
LocationUtilto includeexpandRangeLevels(ILocation, List)andpartialExpand(ILocation, List, List)methods, allowing to expand range locations on some or on all range levels. - PIVOT-9130 Stopped throwing an exception when an Mdx calculated member references an unknown member. This is intended to allow defining calculated members before loading the data.
- PIVOT-9137 Changed
IDuplicateKeyHandler.selectDuplicateKeyInDatastore(IRecordReader, IRecordReader, IStoreMetadata, IDictionaryProvider, int[], int),IDuplicateKeyHandler.selectDuplicateKeyWithinTransaction(IRecordReader, IRecordReader, IStoreMetadata, IDictionaryProvider, int[], int)andIStoreDescriptionBuilder.IRemoveUnknownKeyListener.onRemoveUnknownKey(int[], IStoreMetadata, IDictionaryProvider, int[], int)signatures toIDuplicateKeyHandler.selectDuplicateKeyInDatastore(IRecordReader, IRecordReader, IKeyEventContext),IDuplicateKeyHandler.selectDuplicateKeyWithinTransaction(IRecordReader, IRecordReader, IKeyEventContext)andIStoreDescriptionBuilder.IRemoveUnknownKeyListener.onRemoveUnknownKey(int[], IKeyEventContext). AnIKeyEventContextprovides equivalent information about the corresponding key event context. - PIVOT-9140 Change constructor
com.activeviam.activepivot.server.json.api.query.JsonMdxQueryPlanto accept strings as time limit, as defined in its field. - PIVOT-9210 The
IDatabaseSchemaEntityResolverinterface has been removed and merged into theIDatabaseSchema. There are no longer database entity resolvers, use the schema instead. - PIVOT-9231 Moved
ILevel.BRANCH_LEVEL_NAMEandILevel.EPOCH_LEVEL_NAMEintoIHierarchy. - PIVOT-9231 Methods that received or returned
ILevelobjects now receive or returnILevelInfoobjects. - PIVOT-9293
ModifiedLocationis now a private class. Modifying a location should only be performed usingLocationUtil#createModifiedLocation. - PIVOT-9345 Removed the necessary injection of components in the Registry to have a working Distribution layer. This is now performed automatically by the starter
com.activeviam.springboot:atoti-server-starter. - PIVOT-9409 Replaced
IDatabaseSchema.findTable(String)byIDatabaseSchema.hasTable(String)to check whether a table exists. UseIDatabaseSchema.getTable(String)to retrieve the table. - PIVOT-9410
IDatabaseSchema.getTables()andIDatabaseSchema.getTableNames()now return respectively aCollection<? extends IDataTable>and aCollection<String>instead of aMap<String, ? extends IDataTable>and aSet<String>.IDatastoreSchemaDescription.getTables()andIDatastoreSchemaDescription.getTableNames()return respectively aList<? extends IStoreDescription>and aList<String>where the order corresponds to the physical order inside the datastore. - PIVOT-9422 Removed intermediate buffer when writing a XMLA response. This reduces transient memory usage and potential OOM errors for large responses. Consequently, the property
ActiveViamProperty.MAX_XMLA_BUFFER_SIZE_PROPERTYbecomes obsolete and is removed. - PIVOT-9446 The interface
IPostProcessorConstantshas been changed to the classPostProcessorConstants. - PIVOT-9490
IEpochno longer implementsIClone. Users are instead required to call/implement adeepCopy()method instead. - PIVOT-9493
IRecordReaderno longer implementsIClone. - PIVOT-9495
IPairandPairno longer implementIClone. - PIVOT-9497
IComparatorDescriptionandIComparatorOrderDescriptionno longer implementsIClone. Users are instead required to call/implement adeepCopy()method instead. - PIVOT-9498
IPropertyno longer implementsIClone. UseIProperty#copy()instead. - PIVOT-9498
IMappedTupleno longer implementsIClone. UseIProperty#shallowCopy()instead. - PIVOT-9500 DirectQuery now only supports Databricks Runtime version 15.4 (the latest LTS).
- PIVOT-9517 Renamed
ExtendedContentTypeintoContentType. - PIVOT-9535 Change the signature of
com.activeviam.activepivot.server.impl.api.database.IConditionFactoryandcom.activeviam.activepivot.server.impl.api.database.IUpdateWhereProcedureFactoryto receive clean public arguments. - PIVOT-9538 Renamed all Spring Boot starters to have the groupId set to
com.activeviam.springboot.atoti-starterchanged toatoti-server-starter.starter-uichanged toatoti-ui-starter.starter-apmchanged toatoti-server-apm-starter.starter-excel-addinchanged toexcel-addin-starter. - PIVOT-9541 The Mdx engine will now try to find better companions for calculated members than
contributors.COUNT. This will improve calculated measure performance on polymorphic cubes. See our public documentation for details. - PIVOT-9632
IStreamedViewListenerRegistration#close()is renamed toIStreamedViewListenerRegistration#unregister(), the registration is no moreAutoCloseablebecause there is no external resources to close. - PIVOT-9694 Remove
Serializablefromcom.activeviam.database.datastore.api.transaction.ITransactionManager.IUpdateWhereProcedureas this was not necessary anymore. - PIVOT-9736 Data cubes no longer expose their REST API to the query node through
ActiveViamProperties. These properties have been moved to theIDataClusterDefinitionand its associated builders. - PIVOT-9772
*ArrayJdbcColumnCalculatorare removed and replaced by a static factoryVectorColumnCalculatorFactorywhich now supports both the Native JDBC source and the Array JDBC source. - PIVOT-9829 The constant
GLOBAL_PROVIDER_NAMEhas been moved toIAggregateProviderDefinition.IPartialProviderDefinition.DEFAULT_NAMEhas been removed, and the default partial provider name is now its plugin key. - PIVOT-9858 Changed
getCellsCountofICellTesterto count only the non-empty cells. - PIVOT-9843 IAxisRanges no longer implement IClone and now has a deepCopy method. IRangeProperty also has a new deepCopy method.
- PIVOT-9903 Key-value source: renamed
IKeyValueBufferPooltoIByteBufferPoolandKeyValueBufferPooltoDirectByteBufferPool. - PIVOT-9910 Some methods have been moved from
com.activeviam.database.datastore.internal.impl.SchemaPrintertocom.activeviam.database.api.DatabasePrinter, and renamed withtableinstead ofstore. The printed types are slightly different. - PIVOT-9964 The memory statistics for swapped vectors have been corrected, and the reported memory is set to 0 instead of the vector capacity.
- PIVOT-10093 Creating a default message handler
IMessageHandler<IFileInfo<Path>>if no bean with this type have been created. The default message handler will only log the progress of load operations. - PIVOT-10135 Moved
StorePartitionTransaction.BATCH_SIZE_PROPERTYtoIStoreDescription.BATCH_SIZE_PROPERTY.
Deprecated
- PIVOT-7762 Deprecated
Types#TYPE_OBJECT_NOT_NULLABLE, useTypes#TYPE_OBJECT_NON_NULLABLEinstead. - PIVOT-7762 Deprecated
Types#TYPE_DIC, useTypes#TYPE_OBJECT_DICinstead. - PIVOT-7762 Deprecated
Types#TYPE_DIC_NULLABLE, useTypes#TYPE_OBJECT_DIC_NULLABLEinstead. - PIVOT-8408
AAdvancedPostProcessor.OUTPUT_TYPEhas been deprecated. UseIPostProcessor.OUTPUT_TYPE_PROPERTYinstead. - PIVOT-8656 Deprecated
getDataType(),isNullable(),supportEmptyString(),getDefault(),getContentClass()inIFieldDescription, useIFieldDescription#getType()instead. - PIVOT-8656 Deprecated
IReferenceDescription#getOwnerStore()andIReferenceDescription#getTargetStore(), useIReferenceDescription#getSourceTableName()andIReferenceDescription#getTargetTableName()instead. - PIVOT-8656 Deprecated both constructors in
ReferenceDescription, use the new constructors with theSet<FieldMapping>argument instead. - PIVOT-8656 Deprecated
IStoreDescription#getKeyFields(), useIStoreDescription#getKeyFieldNames()instead. - PIVOT-8656 Deprecated
SimpleStoreDescriptionBuilder#keyFields(), useSimpleStoreDescriptionBuilder#keyFieldNames()instead. - PIVOT-8656 Deprecated
IDatastoreSchemaDescription#getStoreDescriptions(), useIDatastoreSchemaDescription#getTables()instead. - PIVOT-8656 Deprecated
IDatastoreSchemaDescription#getReferenceDescriptions(), useIDatastoreSchemaDescription#getJoins()instead. - PIVOT-8657 Properties in
IAggregateProviderBaseandIAggregateProviderHolderBaseare deprecated in favor of their counterparts inIAggregateProviderDefinition, which is the public interface. Aggregate Provider fluent builder's javadoc now points toIAggregateProviderDefinition, which has been heavily documented. - PIVOT-8591 Deprecated use of
"hashN(fieldName)"to describe a modulo N partitioning on a field inICanPartition.withPartitioning(String). Use"moduloN(fieldName)"instead. - PIVOT-8918 Deprecated
IFieldType.getUndictionarizedDataType(), you should not use type representation as integer anymore. - PIVOT-9004 Utilities methods in
ICloudEntityandICloudEntityPathto modify content on the cloud storage are deprecated. Atoti Server is solely responsible for downloading from the cloud storage. - PIVOT-10179 Deprecate
com.activeviam.tech.core.api.tracking.Tracingin favor of implementations in each project. This class only offers helper methods relevant inside Atoti Server, rooted on a Tracer configured with information bound to Atoti Server.
Removed
- PIVOT-6010 Removed IPointLocationReader.getMapping(). It can be retrieved from the ActivePivot object.
- PIVOT-7155 Removed deprecated method
IDatastore.getMemoryStatisticForStore(int). - PIVOT-7332 DirectQuery: remove deprecated method
IRefreshable.refreshAsync(). - PIVOT-7466
CSVSourceis now private. UseCsvSourceFactory.create()and other static factory methods to build instances. You must also migrate to the typeICSVSourceinstead of the implementation type. - PIVOT-7769 Removed the experimental
CopperPostProcessor.executeInDataCube()method. - PIVOT-7769 Removed the
IDistributedPostProcessor#EXECUTE_IN_DATA_CUBE_PROPERTYandIClusterDefinition#EXECUTE_IN_DATA_CUBE_PROPERTYproperties. - PIVOT-7983 Removed deprecated method
IFieldDescription.canBeEmptyString(), useIFieldDescription.supportEmptyString()instead. - PIVOT-7983 Removed
DatastoreSchemaDescriptionUtil. - PIVOT-7983 Removed
JDBCMessageChannelFactory.NO_ENTRY_VALUE. - PIVOT-7983 Removed deprecated method
IDatastoreSchemaTransactionInformation.getLockedStores(), useIDatastoreSchemaTransactionInformation.getLockedStoreIds()instead. - PIVOT-7983 Removed deprecated interface
IDatastoreSchemaTransaction, useIDatastoreSchemaTransactionInformationandIDatastoreSchemaTransactionManagerinstead. - PIVOT-7983 Removed deprecated method
ITransactionManager.getDatastoreQueryRunner(), useITransactionManager.getQueryRunner()instead. - PIVOT-7983 Removed
DatastoreQueryHelper.getAllFields(...), useDatabaseEntityResolverUtil.getAllReachableFields(...)instead. - PIVOT-7983 Removed deprecated methods
StoreUtils.getSize(...), useIStatisticsQueryRunner.computeTableSize(String)instead. - PIVOT-7983 Removed deprecated method
IReadableDatastore.getBranches(), useIDatabase.getHeads().keySet()instead. - PIVOT-7983 Removed deprecated method
IDatastoreVersion.execute(IQuery), useIDatabaseVersion.getQueryRunner().listQuery(ListQuery).run()instead. - PIVOT-7984
activeviam.directquery.spring.enableLegacyInitializationproperty andAActivePivotWithDirectQueryConfig.apManagerInitPrerequisitePluginInjections()method are removed. You can useAActivePivotWithDirectQueryConfig.performRegistryInjection()to regroup your plugin injection in your config. - PIVOT-7984 Removed deprecated method in DirectQuery
Database.getSchema(). UseDatabase.getUserSchema()instead. - PIVOT-7985 Deprecated methods
withFields(List<FieldPath>)to build database list queries have been removed, usewithFieldsWithoutAlias(List<FieldPath>)instead. - PIVOT-7985 Class
TableJoinis no longer public; use the interfaceITableJoininstead. - PIVOT-7985 Deprecated methods
createSessionwith a single argument to build a DirectQuery session have been removed, usecreateSessionwith 2 arguments instead. - PIVOT-7985 Deprecated constructors for
GetByKeyQueryhave been removed, use the builderGetByKeyQuery.builder()instead. - PIVOT-7985 Removed deprecated method
ISelection#getFieldExpressions(); useISelection#getFieldsByAlias()instead. - PIVOT-7986 DirectQuery: removed
ActiveViamProperty.DIRECTQUERY_AUTO_ADAPTIVE_JIT, as adaptive JIT and JIT have been merged. - PIVOT-7986 DirectQuery: Configuration parameters for DirectQuery that were passed via
ActiveViamPropertyhave been removed of the associated POJO (BigqueryDirectQuerySettings,ClickhouseDirectQuerySettings,DatabricksDirectQuerySettings,MsSqlDirectQuerySettings,RedshiftDirectQuerySettings,SnowflakeDirectQuerySettings,SynapseDirectQuerySettings):ActiveViamProperty.EXTERNAL_DATABASE_QUERY_TIMEOUT_LIMITActiveViamProperty.ENABLE_DIRECTQUERY_AUTOVECTORIZERActiveViamProperty.DIRECTQUERY_AUTOVECTORIZER_DELIMITERActiveViamProperty.DIRECTQUERY_AUTOVECTORIZER_THRESHOLDActiveViamProperty.DIRECT_QUERY_SUB_QUERY_LIMITActiveViamProperty.DIRECT_QUERY_GET_BY_KEY_BEHAVIORActiveViamProperty.SNOWFLAKE_MAX_RESULTSET_SIZE
- PIVOT-7987 Removed deprecated method
IStopWatch.printTimings(...), useIStopWatch.appendTimings(StringBuilder)instead. - PIVOT-7987 Removed
CustomComparator.type, useCustomComparator.PLUGIN_TYPEinstead. - PIVOT-7987 Removed deprecated classes for aggregations
AGenericBaseAggregationFunction,AGenericAggregationFunction,AGenericVectorAggregationFunctionandAVectorAggregationFunction. Implementers must now write their aggregation functions using the standard unique API. The Aggregation Function documentation provides an up-to-date guide for writing an aggregation function. - PIVOT-7987 Removed deprecated constants
QFSPools.ACTIVEVIAM_THREAD_PREFIXandQfsConcurrency.ACTIVEVIAM_THREAD_PREFIX. UseNamedThreadFactory.ACTIVEVIAM_THREAD_PREFIXinstead. - PIVOT-7987 Removed deprecated
IAggregateStore.getMeasureColumnIndex, useIAggregateStore.getColumnIndexinstead. - PIVOT-7987 Removed deprecated constructor of
AggregateStoretaking an array of measures, use the one with a list instead. - PIVOT-7987 Removed deprecated method
VectorsAllocationSettings.create(int vectorBlockSize, int componentType). UseVectorsAllocationSettings.create(int vectorBlockSize, ExtendedContentType type)instead. - PIVOT-8012 Removed ActiveMonitor's direct dependency to
org.apache.velocity.tools:velocity-tools-generic. It is now a testing dependency. See the migration notes to customize message templating in ActiveMonitor. - PIVOT-8027 DirectQuery: Static method
com.activeviam.directquery.YOUR_DATABASE.api.Session#registerUdaf()has been removed in favor ofcom.activeviam.directquery.YOUR_DATABASE.api.Session#registerSqlUdaf(). - PIVOT-8086 Deprecated constructor
Selection(String, String...)has been removed, useSelection(String, List)instead. - PIVOT-8086 Deprecated constructor
RecordQuery(String, ICondition, String...)has been removed, useRecordQuery(String, ICondition, List)instead. - PIVOT-8125 Removed deprecated method
IActivePivot#getAggregateProvider, which was often used to retrieve aIHierarchicalMapping. The mapping is directly available from theIActivePivotinterface. - PIVOT-8125 Removed deprecated method
ICanHaveComparator#withComparatorOrder, which was redundant. Specific comparator behaviors are still available throughwithFirst/LastObjects. - PIVOT-8137 Removed deprecated methods
IDatastoreSchema#getPartitioningDescription(String)andIDatastoreSchema#getNumaSelectorDescription(String). - PIVOT-8169 Removed deprecated classes
AJDBCSource,ArrayJDBCSource,MapJDBCSource,NativeJDBCSource, useIJDBCSource.builder()instead. - PIVOT-8183 Removed deprecated methods involving unknown level resolution:
Copper.member(String)Copper.hierarchy(String)Copper.level(String)Copper.newHierarchy(...).fromValues(...).withMembers(String, String)Copper.newHierarchy(...).fromStore(...).withLevel(String)Copper.newHierarchy(...).fromStore(...).withLevel(String, String)Window.orderBy(String)
- PIVOT-8184 Removed the deprecated method returning the distributing fields in
IMultiVersionDistributedActivePivot. UseIMultiVersionDistributedActivePivot.getDistributedApplicationInformation()instead. - PIVOT-8185 Removed the deprecated
runXXX(IMultiVersionActivePivot)methods inActivePivotQueryRunner. These methods allowed users to run queries against an instance ofIMultiVersionActivePivot. It is now required for users to select the version the query should run against. - PIVOT-8186 Removed various deprecated and unused methods from
com.activeviam.activepivot.core.impl.api.cube.hierarchy.HierarchiesUtil. - PIVOT-8186 Promoted a different signature for deprecated
JoinMeasureDescription#setMapping. It is expected that join measures are mostly created through the Copper API. - PIVOT-8189 Removed deprecated method
ICursor.rewind(). - PIVOT-8192
IPluginValue#getPluginandIPluginValue#setPluginwere removed. - PIVOT-8244 Removed
IReadableDatastore.getHead(), useIDatastore.getMasterHead()instead. - PIVOT-8244 Removed
IReadableDatastore.getVersion(String, long), useIDatastore.getVersion(long)instead. - PIVOT-8280 Removed deprecated interface
IDatastoreSchemaDescriptionPostProcessorand all its implementations. UseDatastoreSchemaDescriptionUtilstatic methods instead to apply transformations to yourIDatastoreSchemaDescription. - PIVOT-8347 Removed
JoinTypeinSqlJoin, replaced byRelationshipOptionality. - PIVOT-8407 Remove the useless module
com.activeviam.tech:serialization-java, only offering the standard Java process for serializing data in a method. The parent modulecom.activeviam.tech:serializationhas also been removed, the need for a parent being very limited. - PIVOT-8445 Removed the tracing rest service
activeviam/tracing/rest/v3from the Atoti Server. - {@jira; PIVOT-8496} Removed
PeriodicActivePivotSchemaRebuilderandScheduledActivePivotSchemaRebuilder, useIActivePivotManager.rebuild(Strings... pivotIds)instead. - PIVOT-8624 The method
IDataTableField.getTableNamehas been removed. - PIVOT-8663
AJwtAuthenticationProviderandASignedJwtAuthenticationProviderhave been removed. - PIVOT-8663
com.qfs.security.impl.DetachedFilterConfigwas removed, as it does not serve any use-case. - PIVOT-8656 Removed
StartBuilding#selection(IDatastoreSchemaDescription). UseStartBuilding#selection(IDatabaseSchema)instead. - PIVOT-8664 Implementations of
IContentServiceare not public anymore. They must be created through the builders ofcom.activeviam.tech.contentserver.storage.api.IContentService#builder(). See this section in the migration notes for more information. - PIVOT-8664 The constructor for
RemoteContentServiceis now internal and is replaced by the buildercom.activeviam.tech.contentserver.spring.api.RemoteContentServiceBuilder. - PIVOT-8664 The constructor for
ContentServiceSnapshotteris now internal and is replaced by the static factory methodcom.activeviam.tech.contentserver.storage.api.ContentServiceSnapshotter.create. - PIVOT-8777 The old
AAnalysisHierarchyhas been removed.AAnalysisHierarchyV2has been renamedAAnalysisHierarchy. - PIVOT-8918 Removed
FieldType.dictionarize(IFieldType). - PIVOT-8918 Removed
FieldType.nullableBoolean(),FieldType.nullableInt(),FieldType.nullableLong(),FieldType.nullableFloat(),FieldType.nullableDouble(),FieldType.nullableString(),FieldType.nullableAny(). UseStandardTypes.NULLABLE_BOOLEAN,StandardTypes.NULLABLE_BOOLEAN,StandardTypes.NULLABLE_INTEGER,StandardTypes.NULLABLE_FLOAT,StandardTypes.NULLABLE_DOUBLE,StandardTypes.NULLABLE_STRING,StandardTypes.NULLABLE_OBJECTinstead. - PIVOT-8918 Removed
FieldType.of(int, Class<?>, Object),FieldType.nullable(int, Class<?>),FieldType.unsafeType(int, Class<?>, Object),FieldType.getEquivalentFieldType(int),FieldType.getEquivalentFieldType(int, Object)andFieldType.getEquivalentFieldType(int, Class<?>, Object). UseFieldType.builder()orFieldType.from(IFieldType)instead. - PIVOT-8927 The class
com.qfs.spring.websocket.impl.ContextValueWebSocketHandlerhas been removed without alternative. This class was internally used to apply context values for some special services and is not needed anymore. - PIVOT-8927 The bean
ActivePivotWebSocketServicesConfig#contextValueWebSocketHandler()has been removed. It was used internally to apply some security and is not needed anymore. - PIVOT-9037 The methods to build an Active Pivot Content Service in
ActivePivotContentServiceBuilderhave been removed, in favor of#with. UseIContentService#builder()to build the provided content service. See this section in the migration notes - PIVOT-9074 Methods in
IHierarchicalMappingthat deal with things else than hierarchies and locations have been removed. - PIVOT-9140 The class
ActivePivotWithDatastoreConfighas been removed. See this migration note to find how to create it in your project. - PIVOT-9140 The class
JwtUtilhas been removed. - PIVOT-9140 The classes
FullAccessBranchPermissionsManagerConfigandContentServiceBranchPermissionsManagerhave been removed. Use theContentServiceBranchPermissionsManagerBuilderinstead to create aIBranchPermissionsManagerbacked by a Content Service. This will allow to directly implement the configcom.activeviam.activepivot.server.spring.api.config.IActivePivotBranchPermissionsManagerConfig. See this section in the migration notes for more information. - PIVOT-9217 Internal methods were removed from
IMultiVersionActivePivot,IMultiVersionDistributedActivePivotandIMultiVersionDataActivePivot. - PIVOT-9218 Removed
IAggregateProviderDefinition.getNumaNodeSelectorPlugin(). - PIVOT-9222 Methods taking the store id in the datastore transaction API have been removed, use the methods taking the store name instead.
- PIVOT-9385 Removed
IDatastoreSchemaDescription.getStore(String), useIDatastoreSchemaDescription.getTable(String)instead. - PIVOT-9475 Classes
AStoredMeasureHandler,StoredMeasureHandlerandStoredPrimitiveMeasureHandlerhave been renamed and are now internal. The plugin keyStoredMeasureHandler.PLUGIN_TYPEis available inIAggregatesContinuousHandler.BASIC_HANDLER_PLUGIN_KEY. - PIVOT-9478
MultiAnalysisHierarchyMeasureHandleris now internal. Its plugin key is available inIAggregatesContinuousHandlerasMULTI_ANALYSIS_HIERARCHY_MEASURE_HANDLER. - PIVOT-9519 Remove
MdxCube.NO_FAIL_WHEN_MEMBER_AMBIGUITY. - PIVOT-9665 Remove the support of Consul for the discovery of the ActivePivot servers.
- PIVOT-9665 Remove Elasticsearch as storage for historical queries data.
- PIVOT-9829 Removed
PartialProviderDefinition.NO_DIMENSION_DEFINED. - PIVOT-10040 Removed
IIterableAggregatesRetrievalResult.transferValues(int rowId, int[] measureIds, Object[] measureValues). UseIIterableAggregatesRetrievalResult.transferValues(int rowId, int[] measureIds, IWritableRecord record)instead, created withIIterableAggregatesRetrievalResult#createRecordFormat(...).newRecord(). - PIVOT-10093 Removing the property
activeviam.apm.feed.loading.message.handler.type - PIVOT-10093 Removed
DataLoadingRestServiceController - PIVOT-10114 Deprecated methods from
IActivePivotContentServicefor storing and retrieving context values have been removed with alternatives.
The related method#withContentValuesinActivePivotContentServiceBuilderhas also been removed.
The related constantActivePivotContentService#DIRECTORY_CONTEXT_VALUEShas also been removed and this directory is not created anymore in the Content Service.
Fixed
- PIVOT-7540 Fixed issue with nullable chunks and the
fillmethod (some elements could stay null instead changed to the value passed tofill). - PIVOT-9804 Fixed
importSubtreemethod in classIContentService. It was causing an issue when importing bookmarks from the UI. - PIVOT-9035 Do not throw when the update of an MDX stream is cancelled by the user.
- PIVOT-9051 Fixed an issue where query cube hierarchy dictionary content was inconsistent with the cluster view after a remote transaction.
- PIVOT-9177 Fixed error propagation from data cube to query cube when aggregates cache is enabled.
- PIVOT-9204 DirectQuery: Validation of aggregate tables takes the CubeFilter into consideration.
- PIVOT-9301 Context value
drillthrough.maxrowsis now taken into account in distributed: the merged result cannot exceedmaxrowsrows. - PIVOT-9317 Failing
HelloMessageno more leaves the cube in invalid state causing cube discovery failures. - PIVOT-9320 Performance improvement for Mdx queries relying on a lot of calculated measures.
- PIVOT-9392 Fixed a JSON serialization issue impacting the large results cellsets.
- PIVOT-9590 DirectQuery: When using clustering fields, the preliminary distinct query uses the aggregate table instead of the base table whenever possible.
- PIVOT-9607 Fixed revertToVersion issue where last partitions were not reverted.
- PIVOT-9648 Fixed the error handling and failure propagation when distributed messages fail to be created and/or broadcast.
- PIVOT-9712 Speed up Mdx queries having calculated members with NULL as expression.
- PIVOT-9780 Fixed resizing error in
AggregatesStoreBindingCompilerthat could occur in cases of high concurrency in that class. - PIVOT-9786 Fixed bug in DrilldownMember that could cause a stack overflow when performing a recursive drilldown.
- PIVOT-9808 Fixed an issue where a transaction listener failure could cause the other listeners to not be called which leaves the application in an unrecoverable state.
- PIVOT-9874 Fixed the ALinkedVersionHistory#getHeads method when there is no branch yet.
- PIVOT-9911 Fix the
DrillDownMemberfunction. The drilldown can now be performed on a member that is directly followed by a descendant that is not one of its children. - PIVOT-9912 Fix unknown measure error with Copper switch measure.
- PIVOT-9927 Fixed an issue where checks on result expansion were too slow when the expansion hierarchy was heavily filtered.
- PIVOT-9951 Improve reports to
IMessageHandlerwhen an error occurs in the JDBC source. - PIVOT-9980 The
toStringimplementation ofIGetAggregateQueryobjects can be truncated to avoid Out of Memory Errors. Extremely large query objects can be generated when using the MDXCrossJoinfunction. - PIVOT-10013 The bucketing hierarchies should handle all measures as nullable.
- PIVOT-10030
ATimeLinePostProcessor#computehas been fixed to properly iterate over the lines that have values for the associated streaming measure. It could, in some cases, also iterate over values ofContributors.COUNT. - PIVOT-10033 The default value of the property
DEFAULT_BLOCK_SIZE_PROPERTY(activeviam.vectors.defaultBlockSize) no longer depends onDEFAULT_CHUNK_SIZE_PROPERTY. Both of these properties now default to a value between 16K and 64K depending on the JVM memory size.
Security
- PIVOT-9513 Upgraded
com.amazonaws:aws-sdk-redshift,com.amazonaws:aws-sdk-s3,com.amazonaws:aws-sdk-kmsandcom.amazonaws:aws-sdk-coreto version1.12.638to fix CVE-2024-21634. - PIVOT-9513 Upgraded
org.springframework:spring-webto version6.1.6to fix CVE-2024-22262.