3.00.2
Version: 3.00.2 Compatibility Level 2 with 3.00.1 & 2.00.13
For details, see Compatibility Changes.
Release Date: 2024-10-20
Available Downloads:
New Features
-
Added functions
attributeNames
andattributeValues
to retrieve all attribute names and values for class instances. (3.00.2.2) -
Added function
createCryptoOrderBookEngine
for creating crypto order book streaming engines.Added support for the deployment of license servers on the public network. (3.00.2.1) -
Added support for storage-compute separation by configuring compute groups.
-
Added TextDB, a text retrieval database system built on the PKEY storage engine.
-
Added iotDB Engine for management of device nodes.
-
Added support for multi-cluster management, enabling the management of multiple clusters through MoM (Master of Master).
-
Added support for the deployment of license servers on the public network.
-
Added function
oauthLogin
and 11 related configuration parameters to support OAuth Single Sign-On (SSO). -
Replaced the memory manager from tcmalloc_minimal with tcmalloc and added functions
startHeapSample
,dumpHeapSample
, andstopHeapSample
for heap sampling. -
Added function
differentialEvolution
to calculate the global minimum of a multivariate function using the Differential Evolution algorithm. -
Added function
irs
to calculate the value of an interest rate swap for the party paying the floating rate. -
Added function
vanillaOption
to price vanilla options. -
Added function
varma
to analyze multivariate time series using a Vector Autoregressive Moving-Average (VARMA) model. -
Added function
garch
to model the conditional volatility of univariate time series using the generalized autoregressive conditional heteroskedasticity (GARCH) model. -
Added function
bondCashflow
to calculate the cash flow for a bond with a face value of 100. -
Added function
maxDrawdown
(alias:mdd
) to calculate the maximum drawdown or the maximum drawdown rate of the input vector. -
Added function
bondYield
to calculate the bond yield of a bond based on its price. -
Added function
createPricingEngine
, a financial tool that integrates various valuation and pricing functions, catering to diverse business scenarios, trading varieties, and data frequencies. -
Added function
cds
to price the Credit Default Swap (CDS). -
Added function
histogram2d
to calculate the two-dimensional histograms for two datasets. -
Added function
kroghInterpolateFit
to perform polynomial interpolation for a given set of points. -
Added function
linearInterpolateFit
to perform linear interpolation for a given set of points, which supports both interpolation and extrapolation. -
Added function
getRules
to get the rules of the specified rule engine. -
Added the following functions for stream tables:
-
enableTableShareAndCachePurge
: Shares a stream table and enables cache purge without persisting the table to disk. -
enableTableCachePurge
: Enables cache purge for a stream table without persisting the table to disk. -
getStreamTableCacheOffset
: Gets the number of records that have been purged from cache.
-
-
Added function
createSnapshotJoinEngine
to create a snapshot join engine for streaming data, which performs joins triggered by the latest data from the left and right tables and calculates metrics. -
Added function
createTimeBucketEngine
to create a time-series engine with one or more custom-length windows. -
Added function
latestKeyedStreamTable
to create a keyed stream table with a time column, which determines whether to insert records. -
Added function
getStreamEngineList
to get information about all streaming engines on the current node. -
Added configuration parameter TSDBVectorIndexCacheSize to set the cache size of the vector indexes in the TSDB engine.
-
Added support for logging into an agent node in non-HA clusters.
-
Added function
jsonExtract
to extract and parse JSON elements into the specified data type. -
The return of function
getCurrentSessionAndUse
now includes the remote IP address and remote port number of the current session. -
Added function
getLoadedPlugins
to get a list of the loaded plugins on the current node. -
Added function
cummdd
to calculate the cumulative maximum drawdown or maximum drawdown rate. It can be used as the state function for the reactive state engine. -
Added PKEY engine maintenance functions:
-
getPKEYMetaData
to retrieve metadata for all PKEY engine chunks; -
getPKEYCompactionTaskStatus
to report status of pending and completed PKEY level file compaction tasks.
-
-
Added function
constantDesc
to provide a description of an object. -
Added function
memberModify!
to modify the member(s) of a tuple or ANY dictionary. -
Added configuration parameter slaveReplicationDBScope to specify which databases to replicate from the master cluster in asynchronous replication.
Improvements
-
The PKEY engine's bloomfilter index now supports the following types: TEMPORAL, BINARY, and COMPLEX. (3.00.2.2)
-
Optimized the performance of IOTDB engine when performing aggregate calculations in distributed queries. (3.00.2.2)
-
Added new parameter updatedContextGroupsOnly to the
createCrossSectionalEngine
function for calculating the groups with updates since the last output. (3.00.2.2) -
Optimized the time series engine: (3.00.2.2):
-
When useSystemTime=false, acceptedDelay can now exceed windowSize.
-
Optimized memory usage when the following conditions are met:
-
windowSize is set as a scalar.
-
windowSize and step have the same value.
-
acceptedDelay > 0.
-
useSystemTime = false.
-
keyColumn is not empty.
-
-
-
Improved memory efficiency when processing speed is slow. (3.00.2.2)
-
Updated the trading calendar. (3.00.2.2)
-
Optimized performance and stability for IOTDB storage engine. (3.00.2.1)
-
Enhanced stability for storage-compute architecture. (3.00.2.1)
-
The following configuration parameters are enabled by default: enableDFSQueryLog, enableAuditLog, and datanodeRestartInterval.
-
Enhancements to curve fitting functions
nss
,ns
, andpiecewiseLinFit
:-
Split the original
nss
function:nss
now uses the NSS model and newns
function implements the NS model. Their maturtity parameter can be set as 0. -
Expanded algorithm options for the method parameter, including 'nm', 'bfgs', 'lbfgs', 'slsqp' or 'de'.
-
Introduced additional parameters for optimal fit, such as maxIter, initialGuess, bounds, seed.
-
Optimized the performance of
piecewiseLinFit
.
-
-
Enhanced the
createDailyTimeSeriesEngine
function:-
It can now include the last window of a session in its output, even if this window contains fewer data records than the specified window size.
-
Added parameter keyPurgeDaily to determine if existing data groups are automatically removed when newer data from a subsequent calendar day is ingested.
-
The calculation of daily time series engine now can be triggered by each incoming record with updateTime = 0.
-
-
When using the
moving
higher-order function in a reactive state engine, its func parameter now supports functions returning tuples. -
The cross sectional engine can now accept array vector inputs.
-
The filter parameter of the
subscribeTable
function now supports user-defined functions or expressions. -
Added parameter validation for the
unsubscribeTable
function. -
Optimized the performance of the
getStreamEngineStat
function. -
Added parameter eventTimeField for the
createCEPEngine
function, allowing the function to handle events (appended byappendEvent
) based on event time when useSystem = false. -
New constraint in
enableTablePersistence
andenableTableShareAndPersistence
: cacheRetentionTime must be less than cachePurgeInterval. -
The PKEY engine now supports vector indexing.
-
Improved query efficiency for the PKEY engine by enhancing its deduplication process.
-
Functions
sqlCol
andsqlColAlias
now support using column alias containing characters other than underscore, letters and digits. -
The catalog parameter of the
setDefaultCatalog
function now can be set as an empty string ““, indicating that no default catalog is used. -
Added a log when users are reset to guest status after session disconnection.
-
The prevailing parameter of the
twindow
function now accepts 0, 1, or 2. When range's left boundary is 0, window starts at current row, excluding prior duplicates, and vise versa. -
The partitionPaths parameter of the
dropPartition
function can no longer be set as empty strings, preventing the deletion of the entire table. -
The model parameter of the
predict
function now accepts strings. -
The
poly1d
function has been renamed topolyPredict
, withpoly1d
now serving as an alias. -
Added the mode parameter for the
polyFit
function to specify whether the output should be a vector or a dictionary. -
The X parameter of the
kroghInterpolate
function has been renamed to newX. -
Refactored functions
clip
andclip!
as scalar functions. -
The
rename!
function now supports indexed matrices and series. -
Enhanced the efficiency of accessing member variable in object-oriented programming.
-
Implemented parallel processing for queries on single or joined in-memory tables when specified SELECT column conditions are met.
-
Implemented parallel processing for GROUP BY operations on in-memory tables with: a. over 10 million rows; b. use of specific aggregate functions.
-
LEFT, FULL, and EQUI JOINs now utilize parallel processing and hash join algorithms.
-
PIVOT BY queries now support the
rowWsum
function. -
The aggs parameter of
window join
now supports expressions. -
Removed print length restriction for
getJobMessage
. It now returns complete output without truncation. -
Enhanced the error message for error code S06005 with overwritten function name included.
-
Loading DFS tables is no longer permitted on controllers.
-
The default value of maxConnectionPerSite has increased from 2 to 64 to reduce deadlock risk from insufficient number of available workers.
-
Added parameter useAbsFit for the
createGPLearnEngine
function to specify whether to allow absolute value in fitness calculation for 'pearson', 'spearmanr', orcorr
fitness functions (fitnessFunc). -
Optimized the performance for data queries within the TSDB cache engine.
-
Optimized the performance for queries involving where conditions with IN clauses on STRING type columns.
-
The shutdown process has been optimized as follows:
-
The
stopDataNode
function is now implemented asynchronously. -
The disableCoreDumpOnShutdown configuration parameter now defaults to true.
-
-
Added validation for metadata recovery on controller.
-
Added validation when adding nodes with
addNode
. -
The
triggerNodeReport
function now is supported in standalone mode. -
JIT backtesting engine has been updated to display class attributes and their corresponding values when printing class instances in callback function.
-
JIT now supports temporal types, including SECOND, MINUTE, DATE, MONTH, DATETIME, DATEHOUR, TIMESTAMP, NANOTIME, NANOTIMESTAMP.
-
JIT now supports the
next
function.
Issues Fixed
-
Fixed an error that occurred during log replay of cluster restart when the scale of DECIMAL data written to a TSDB database exceeded the scale set in schema. (3.00.2.2)
-
Fixed server crashes caused by inserting data with incompatible key column types into a keyed table. This issue was introduced in versions 2.00.11.1/1.30.23.1. (3.00.2.2)
-
Fixed the following issues with the
createCrossSectionalEngine
(3.00.2.2):-
The number of aliases specified in metrics was less than the number of returned columns, causing the server to crash.
-
When both contextByColumn and keyFilter were specified, the function specified in keyFilter was called twice.
-
-
Fixed an error in the asof join engine where the timeColumn was a vector specifying for both the left and right tables, but only the right table's time column was included in the metrics. (3.00.2.2)
-
Fixed occasional crashes due to concurrent writes to a shared table when when its alias was specified as the output table of a streaming engine.(3.00.2.2)
-
Fixed server crashes caused by concurrent writes to stream tables containing array vectors. (3.00.2.2)
-
Fixed errors when accessing array vectors returned by functions through index in distributed queries. This issue was introduced in versions 3.00.2. (3.00.2.2)
-
Fixed occasional errors of missing column references during table joins caused by system modifications to variable names in subqueries. (3.00.2.2)
-
Fixed an error caused by referencing local variables in table joiner functions (e.g.,
lj
). This issue was introduced in versions 3.00.2. (3.00.2.2) -
Fixed an error that occurred when the last column specified in PIVOT BY was a partitioning column and the queried data volume was excessively large. (3.00.2.2)
-
[D20-2183] Fixed a deserialization error during network transmission if a string was truncated using
\0
. -
[D20-7033] Fixed a memory overflow issue during symbol base initialization due to an excessive number of partitions.
-
[D20-7586] Fixed login failure on a compute node which was added to a cluster offline.
-
[D20-17313] Fixed occasional issues where a transaction might be prematurely logged as complete before it actually finished under memory overflow conditions in standalone mode.
-
[D20-18944] Fixed connectivity issues during asynchronous replication where the slave cluster failed to connect to the master cluster after a leader switch.
-
[D20-18974] Fixed an issue where asynchronous replication threads did not terminate when a node was shut down.
-
[D20-17464] Fixed a startup failure caused by corrupted data of persisted stream tables.
-
[D20-18377] Fixed a server crash caused by encapsulating classes into function views.
-
[D20-19180] Fixed an abnormal display of dictionaries containing class instances as values.
-
[D20-18443] Fixed server crashes during login when the workerNum configuration parameter is left empty. The system now logs and reports the error.
-
[D20-18282] Fixed a condition evaluation error where
defined
is used in theif
condition and its argument was defined in theelse
block. -
[D20-18405] Fixed an issue in keyed tables where identical key values were mistakenly identified as different values if the inserted data type of the key column(s)did not match the table schema.
-
[D20-18503] Fixed server crashes caused by self-referencing dictionaries.
-
[D20-18964] Fixed an issue with nested dictionaries where adding a new key-value pair to an inner dictionary also added the same key-value pair to the outer dictionary.
-
[D20-18495] Fixed a server crash caused by out-of-bounds indices in the
at
operator. -
[D20-19016] Fixed an issue where the
pnodeRun
function did not include the node name in its return value when invoking a function that returned a vector. -
[D20-18922] Fixed a server crash caused by multiple executions of
pnodeRun(setTraceMode{true})
. -
[D20-18979] Fixed a server crash caused by the
peach
function using stack variables. -
[D20-18965] Fixed incorrect parsing results of
toStdJson
when converting dictionaries containing values indicating data types (e.g., DATE). -
[D20-19012] Fixed inconsistent calculation logic and return types for
percentChange(x,1)
andpercentChange(x)
when x is a floating-point number. -
[D20-18897] Fixed data duplication issues when calculating metrics with subWindowspecified in (daily) time-series engines.
-
[D20-18856] Corrected input arguments for functions
cancelRebalanceTask
andcancelRecoveryTask
. -
[D20-18786] Fixed an issue where the
cumstd
function returned 0 when calculating values smaller than 1e-10. -
[D20-18773] Fixed an issue where subscriptions created via the Python client could not be canceled with
unsubscribeTable
. This issue was introduced in version 3.00.1. -
[D20-18735] Fixed an issue where the
std
,stdp
,var
, andvarp
functions did not check for very small numbers, leading to incorrect calculation results. This issue was introduced in version 3.00.0. -
[D20-18595] Fixed an occasional issue where the
kama
function produced inconsistent results compared to Python's TA-Lib. -
[D20-19285] Fixed automatic interpolation in (daily) time-series engines when the value of acceptedDelay is the same as windowSize.
-
[D20-19486] Fixed an issue where daily time-series engines filled time column with "invalid date" after receiving cross-date data in different groups.
-
[D20-16734] Fixed potential data loss in the daily time-series engine after receiving data that spans multiple days.
-
[D20-18977] Fixed slow publishing of streaming data after filter was applied.
-
[D20-19230] Fixed precision loss of DECIMALs when a SQL query filtered on sort columns of a TSDB database.
-
[D20-19153] Fixed an error when calling a member method which contained a WHERE clause with IN conditions after instantiating the class.
-
[D20-18719] Fixed case sensitivity of CONTEXT BY columns in distributed queries.
-
[D20-18549] Fixed an issue where the UPDATE statement failed to swap the values of two columns in an in-memory table.
-
[D20-18479] Fixed an issue where scalars could not be used for matrix assignments in JIT version.
-
[D20-19238] Fixed occasional freezing issues in the Windows JIT version.
-
[D20-19129] Fixed an error when passing a vector to the groupCol parameter of
createGPLearnEngine
.
Deprecated Features
-
Deprecated LAN license server. Functions
getLicenseServerResourceInfo
andgetRegisteredNodeInfo
, and configurations licenseServerSite and bindCores are removed in this release. Please use WAN license server instead.