Kinetica Release Notes

Build version:


KGEO-318 Added an additional fix for Cairo renderer for the non-matching record class break issue and handling no match in class break rendering without other class
KGEO-358 Added getCoordsVector() function has been added. This function returns vector of geos::geom::Coordinate
KGEO-521 Added chunk synchronization between Workers and GLRenderingEngine
KGEO-521 Addressed the Intel build issue in a better way - without adding GAIA_USE_EGL outside of the renderer
KGEO-521 Eliminated GLTask sorting from GLRenderingEngine
KGEO-521 Enabled GL depth test for rendering chunks in order
KGEO-602 Changed shape processor's read-write lock to OrderedRWLock
KGEO-602 Separated out CPUDataBuffer out of GLDataBuffer
KGEO-521 Replaced non-preemptive mode GLTask execution by sending a group of GLTasks to the GL thread
KGEO-589 Fixed the crash with ST_HexGrid
KGEO-589 Optimize grid functions to avoid unnecessary computations and Updated the debug message for gridding functions
KGEO-602 Rearrange render calls in EGLRenderer for being executed by a dedicated OpenGL thread
KGEO-603 Implemented GLRenderingEngine - performing OpenGL rendering using a dedicated thread
KGEO-604 Added exception handling and logs and updated load symbol code path
KGEO-604 Enabled concurrent chunk processing in vis workers and added GLTaskGuard
KGEO-604 Fixed an issue of uninitialized exception pointer and a logic error in render_shapes functions AND eliminated unnecessary includes of RenderFactory.h and ShapeRenderer.h
KGEO-604 Removed frame buffer allocation in worker threads and have rendering context created and passed from workers to GLRenderingEngine
KGEO-604 Updated cuda kernels and EGLRenderer for pushing rendering tasks to GLRenderingEngine
KGEO-604 Updated ordered class-break kernels and added Worker-GLRenderingEngine sync codes
KGEO-610 Added check on the maximum number of labels and added a query_option for processing labels for 'all' to satisfy the query or any via and_labels (default to false, i.e., OR or ANY)

Graph client will now create a join table for every component when multiple ones are specified per configuration (even if using the same table with no expressions)

KGEO-614 Added Isochrones WMS handler
KGEO-616 Added the hidden option for ODpair solver as a legitimate solver option into the match/graph endpoint
KGEO-619 Changed the WKT class break kernel to use expression for record classification
KGEO-620 Fixed bug with ST_MaxDistance
KGEO-621 Graph client now detects valid WKT constants and changes the derived column types accordingly
KGEO-622 Fixed image path when checking against reference images
KGEO-622 Fixed issue with and also fixed the issue with missing symbols
KGEO-622 Fixed the issue with symbol data not loaded from persist
KGEO-623 Added an option for solving using the priority_queue option both for direct and inverse senses - accelerated the solve time for small to medium isochrone runs
KGEO-627 Fixed issue where a persisted graph with expressions and SYNC_DB enabled would not be properly recreated on load
KGEO-628 Exclude code paths for new GL threading when Cairo renderer is used
KGEO-630 Extend the try area to catch more exceptions
KGEO-630 ST_Grid functions now have hard threshold(1e+6) as the max size of grids/
KGEO-636 Fixed missing class issue in ordered class break; it was incurred by allocating a frame buffer outside of valid extent
KGEO-636 Fixed ordered class-break deadlock happening when the number of classes exceeds the number of frame buffers available
KGEO-636 Hooking up worker-renderer sync with AbortableConditionSet; make sure rendering tasks are cleaned up when a job is canceled
KINFRA-1014 Fixed errors with persist_sync - for non persisting tables
KINFRA-1014 Persist_sync save stencil with vectors instead of in extend_stencil
KINFRA-1071 Set to show job running time in MM:SS
KINFRA-1077 Add AbortableConditionSet to Worker and abort on job cancellation Use Worker's AbortableConditionSet in Chunker Move GAIA_ORDERED_RW_LOCK_DEBUG support to cpp file only Misc cleanup of AbortableConditon and OrderedRWLock
KINFRA-1085 Add Worker info from JobManager to debug endpoint
KINFRA-1085 SetManager check ptrs when unrefing to not crash when json is malformed, better comm logs saying what ranks are not running
KINFRA-1095 FilterPlanner don't use std::min/max(int2048 and friends), memcpy on self, JoinedStencil reserve vect, Worker destructor try/catch
KINFRA-1095 Change WARN messages to DEBUG when reading/writing empty vectors from persistent tiers (disk/cold)
KINFRA-1095 CommunicatorUtils check min size of received data before deserializing
KINFRA-1095 Init OMP loop std::atomic_flag error_flag = ATOMIC_FLAG_INIT; in GaiaSet::create_attribute_index() and add_foreign_keys(), GaiaSetData::create_primary_key_lookup_tables(), fixed usage in EndpointVisualizeUtils. Always use = ATOMIC_FLAG_INIT
KINFRA-1095 GroupBySink::synthesize_count_distinct_result() and GaiaSetDictVector::permute_values_impl() don't access empty vector[0]
KINFRA-1095 try/catch in ~Worker_visualize_image_chart, comment in File.cpp that fclose() err can mean can't flush buf
KINFRA-1120 Hardened Endpoint_admin_add_ranks to ensure that internally generated jobs are always completed, plus some clode cleanup
KINFRA-1120 In Rebalancer.cpp refactored how shards are selected for rebalance during each round
KINFRA-1140 Fixed for v6.2 persist compatibility
KINFRA-1184 Fixed issue with missing pinUncompressed in Worker_create_projection_reshard
KINFRA-1184 Since compression is allowed on projections columns: add check logs for compressed vectors and pinUncompressed for projections, instead of tryAllocate
KINFRA-1188 Call pinUncompressed instead of uncompress vectors directly from GaiaSet
KINFRA-1192 Fixed mismatch set id size errors due to missing tables in Clear_table endpoint
KINFRA-1220 When ranks are removed, if all ranks on a given host are removed, remove that host from the cluster
KINFRA-1224 GaiaSet.cpp rebalancing performance optimization:  When deleting records from indexdb, assemble vector of keys beforehand (since we already know what they are) vice looping over entire stencil and checking each index
KINFRA-1226 Added Tier strategy predicate validation at rank 0
KINFRA-1228 Fix startup error with loading min/max values for dict-encoded char1 columns
KINFRA-1229 Tell TaskReceiver thread to exit before sending abort message
KINFRA-1230 Fixed join stencil pinning lack of ordering
KINFRA-1230 Fixed unpin bms from correct pinning in worker_pk_filter
KINFRA-1230 Remove unneeded try/catch in workers, change W to R locks
KINFRA-1230 Updated TierPinning release to release all references to the same object
KINFRA-1232 Fixed alter table column not pinned
KINFRA-1233 Add missing closedir() in DiskTierMonitor get directory sizes
KINFRA-1233 Use raw C calls for DiskTierMonitor instead of boost
KINFRA-1234 Wait for pool threads to start all at once instead of one at a time
KINFRA-1235 Don't send groupby result table to JM if empty and fixed deadlock between worker and JM
KINFRA-1235 Update union,grpby,proj to report result as write table
KINFRA-1236 Fixed propagation of the disk cache tier conf to all ranks - Show all tier params in /show/system/properties - Disallow multiple disk based tiers from using same logical path
KINFRA-1238 Added
KINFRA-1238 Moved all tests from test_new_alter_table.. to, leaving only test_alter_table_all() for all columns types/annotations: add/change column
KINFRA-1239 Calculate chunk reservations correctly for projections/unions
KINFRA-1239 Fixed incorrect chunk reservation calculation
KINFRA-1240 GaiaSetBaseVector::append_from - do not try to access src ptr directly, and add pin to src vect before calling append_from in remove_chunking
KINFRA-1242 Destroy the endpoint object for async job after it completes instead of holding until response is retrieved
KINFRA-1242 Fixed issue where an async job that was done was preventing add/ranks from syncing types and tables, because the add ranks endpoint thought there were still running jobs
KINFRA-1242 In add ranks, remove ranks, and rebalance endpoint, clear the cluster operation lock at the end of onProcessRequest()
KINFRA-1242 Use OrderedRWLock type for cluster operations lock instead of GaiaRWLock
KINFRA-1244 In class RebalanceCache add more profiling info - # hits on each profile point
KINFRA-1244 In GaiaSet.cpp improved rebalancing performance by removing two unnecessary calls to GaiaSetStencil::count()
KINFRA-1244 Initial profiling of rebalance performance, enable by setting logger Rebalance.Profiler to DEBUG
KINFRA-1245 Add the input tablenames to read table list in job info for AggregateUnique EP. Also clear table EP should add the tablename to write table names to ensure the previous jobs are completed before clearing table
KINFRA-1246 Add validation check to tier_attribs for rgroup endpoints
KINFRA-1247 Check for timed out jobs in JobManager and cancel them
KINFRA-1247 Make internal rebalance jobs (per round) not timeout
KINFRA-1248 Added mutex on m_dict_map in GaiaSetDictVector since vector is not protected during inserts
KINFRA-1249 Add cancellation checks to disk tier manager
KINFRA-1250 Run next job(s) immediately after a job is marked as cancelled
KINFRA-1250 When checking for jobs ready to run, include the current job
KINFRA-1253 Add periodic job timeout checks to SetTimeOutManager (rank 0) and GaiaSetManager (worker rank) threads
KINFRA-1253 Fixed Don't let Worker_create_projection_reshard hold chunk locks between work items
KINFRA-1253 Reorder chunk_vector write-lock in increase_capacity_if_needed_and_create_add_desc - Only grab a write-lock if/when chunk is being added
KINFRA-1253 Update all chunkers to use chunk_vector Read locks vice Write
KINFRA-1254 Hide completed async jobs unless requested by an option
KINFRA-1255 Add rebalance tuning option to grab data from memory if table doesn't have store only data, doesn't have values in string store, and all the columns in the chunk are in RAM
KINFRA-1255 Fixed Settings for tuning rebalance performance as part of optimization
KINFRA-1256 Chunk write lock to read lock during bulk_insert, and add dict vector to reallocation before adding values
KINFRA-1257 Fixed in dict vector reallocation - check for dict attr in columns only
KINFRA-1258 Fix deadlock between union, get_set_sizes, filter
KINFRA-1259 Update workers to attempt to evict objs if they cannot be constructed
KINFRA-1261 Fixed rebuild errors on startup: add routing rank/tom to insert request before calling decode_objects to avoid throw on non active ranks on startup
KINFRA-1267 Rebuild table: get records count from indexeddb - from toc table directly, not from metadata. Is slower - but will recover only records that are actually stored in indexdb files
KINFRA-1268 Add lock when checking whether to call queue drained CB
KINFRA-1269 Fixed show table sizes on collection
KINFRA-1286 Fixed segfault in onEndWI
KINFRA-1294 Bail out if attempting to write geometry vector that's not in memory to disk
KINFRA-1294 Use actual vector size when clearing geometry vector
KINFRA-1295 Add DEBUG timer for disk tier reads and add job cancelled check to cold tier disk reads
KINFRA-1295 Update sync_chunks to keep going if map sync throws exception
KINFRA-1296 Fixed potential race condition during simultaneous access if allocation fails
KINFRA-1298 Fixed hung WIExecutor of work scheduled after exception
KINFRA-1310 Fixed segfault in show_table when table deleted during call
KINFRA-199 Fixed refreshing views in verify db when requested (e.g. after a rebalance)
KINFRA-311 Put GAIA_JOBMANAGER_CHECK_JOB_CANCELLED into JobManagerHelper.h to reduce #include deps for kernels
KINFRA-521 Remove unnecessary check for multihead job arrival in JobManager
KINFRA-724 apt install libzmq1 not libzmq and will not pip install if already installed, pip installs multiple copies and this can cause issues
KINFRA-724 install snappy and zmq dev for pip to use to build
KINFRA-799 In Worker_verify_db/GaiaSet added check that null data is actually zeroed out in the raw data
KINFRA-835 Fixed compile warning from merge - use worker creation macro in rollback worker and fixed errant tabs in rebalance/rollback test
KINFRA-835 Fixed rebalancing when moving multiple shards between same src/dest within a rebalance round
KINFRA-835 Fixed regression errors in rebalancing with rollback support - New records were using expected shard version instead of one based on the actual routing and fixed Worker_rollback compiler error under gcc6
KINFRA-912 In Endpoint_get_records.cpp when rebalancing, if doing a multihead get on a view, reroute the request to rank 0 for refresh if the view needs refreshing
KINFRA-932 Allow multiple simultaneous refreshes of the same view, during or post rebalancing
KOLAP-1225/1257 Implement non-materialized view security. implement non-cascade deletes (still the default behaviour is cascade deletes)
KOLAP-1257 Non cascade drop table/view implementation; Avoid calling /show security on logical views. Fixed source tables for /create/logicalview endpoint
KOLAP-1314 Use old unchunking method when new chunk size is specified - a quick fix to ensure we will respect the new chunk size - ultimately we want to eliminate the unchunking step
KOLAP-1325 Added database_utils as part of previous commit
KOLAP-1325 Added internal option to set request_timeout in seconds -allows zero seconds for testing purposes -also change window_utils to database_utils since it is used by more than window function tests
KOLAP-1325 Added test for cancellation of queries - uses internal switch to reset timeout to 0 seconds to validate cancellation for a variety of sql queries - uses try block to ensure we reset timeout to previous value after test
KOLAP-1325 Added test for running lots of simultaneous queries in low memory situations - add brief text explanation for skipping test so that we know which decorator requirement was not satisfied
KOLAP-1358 Skip fast_index_lookup option in get/records for joins and result table
KOLAP-1380 Move logical views from one collection to other
KOLAP-1401 Filter plans are now by default printed to the log with GAIA_LOG_INFO.  Setting FilterPlannerT0 logger to DEBUG reverts to old stdout printing
KOLAP-1406 Eliminate erroneous error 'No field with this name: is_null(r.v_long)' when calling ParserUtils::isa_filter_by_bounds_rpn
KOLAP-1409 Fixed multichunk pk table minimize working
KOLAP-1409 Minimize now correctly handles creation of left set stencil for left join
KOLAP-1409 Revert some changes to primary-key-join bitmask stencil creation for normal and attribute indexed pk creation
KOLAP-1410 Fixed do not subchunk one dimensional joined sets which was causing errors during incremental updates
KOLAP-1416 Replace smi->table_dependency.dest_table_names with new function get_valid_dest_table_names(smi)
KOLAP-1440 Handle the 'L' suffix on constants in field::convert
KOLAP-1453 Table monitor enhancements - now it can publish update/delete notifications to subscribers
KOLAP-1453 Table monitor enhancements to support update/delete events on a table
KOLAP-1459 Support temp tables and send current username to calcite planner to support temp tables
KOLAP-1464 Set the refresh method to manual when the test is done in test_create_view_incremental_join_table_filter()
KOLAP-1473 Fixed Type::get_set_has_shard_keys to not depend on if joined set exported shard key
KOLAP-1476 Fixed /create/projection with a sort on a dict-encoded column
KOLAP-1478 Fixed distributed join bug when cost-optimizer is ON.  populate the shard keys only when it is sharded. In all other cases, shard keys are empty
KOLAP-1484 Add support for ASOF function - > BETWEEN and MIN/MAX
KOLAP-1484 ASOF Join fixes
KOLAP-1484 Unreserve ref keyword and fix pk determination of base table
KOLAP-1486 Fixed equi-join chunk skipping for float and double types
KOLAP-1488 Fixed vector access issue when m_json is false
KOLAP-1490 Add syntax support for ASOF and LONG function calls

Fixed sql for test case. unconditional join producing more rows, making it equality join

KOLAP-1491 Fixed clear left-over paging table and its dependencies

Added KineticaTypeSystem to treat union of different character types as varying

KOLAP-1495 Honor collection_name in show create table statement
KOLAP-1497 Fix to handle duplicate aliased shard keys in distributed joins and avoid unnecessary projections
KOLAP-1498 Avoid counting overlap block stencils when reporting filter-plan-steps and improved Bitmask::get_indices function performance
KOLAP-1500 Fix rank type enum
KOLAP-1501 Fix resource group DDL
KOLAP-1501 Show resource group in security output and fix to honor collection name
KOLAP-1502 Added job_user_data in the valid options
KOLAP-1502 Fix getUserJobData so execute sql can make use of it
KOLAP-1502 Set SQL statement to job_user_data field
KOLAP-1505 Do not allow an equijoin to be the last step if an outer side of the join refers to multiple set indices - do not require outer predicate joins to join all the set indices of an outer join unless it is the last step in the outer join - on last step in outer join expand predicate-equi-join m_dim_set_indices1 and 2 to the size of the intersected input joined sets set indices - but declassify previously classified predicate-equi-joins if both dim_set_indices 1 and 2 intersect the same joined set indices
KOLAP-1505 Fixed Only last predicate join in sequence of predicate joins for an outer join gets expanded to all the dimensions being joined - makes compound outer predicate joins more efficient - will make ending in a predicate-equi-join more likely
KOLAP-1505 Improved testing of predicate-equi-join to support efficient outer equi-joins between multidimensional join tables. gpudb.conf parameter enable_predicate_equi_join now default to true
KOLAP-1508 Fix external user and resource group syntax
KOLAP-1510 Revise REVOKE syntax
KOLAP-1511 Save sql limit in the paging table cached plan so that the subsequent page scrolling requests are handled with the correct record limit
KOLAP-1512 Fix interaction issue of paging table with jdbc/odbc prepare mode
KOLAP-1514 Added SQL tests for asof and query group
KOLAP-1514 Return proper query type
KOLAP-1515 Fix to prevent segfault during union
KOLAP-1522 Fixed ParserSimplifier.cpp:StringOnStringSimplification
KOLAP-1524 Add support for show <object_name> using SQL
KOLAP-1525 Fix predicate pushdown rules traversal order
KOLAP-1532 Join tables produced by filter-by-list and filter-by-table can now be queried.  filter-by-list and filter-by-table no longer work on collections
KOLAP-1535 Make partition values case-sensitive for LIST and RANGE partitions and require separating out-handling of keywords from other tokens
KOLAP-1535 Now that partition tokens are not lowered, matching 'interval' needs to be case-insensitive
KOLAP-765 Added rename joins/views
KOLAP-961 Further fixes to null out values associated with nulls - added switch to turn on null verification in verify_db - added test switch to verify that associated null values have been zeroed out after every window function test - determined that when we were using indices to reference the values, the associated values were not nulled out - added an extra step at the end to null out the associated values before copying to the results vector
KUI-433 Added KAgent UI add/remove node and add/remove node cleanup/refactor
KUI-433 Enable --force flag for remove node now that CLI has support
KUI-433 Fixed breaking screens for AWS and Azure node configuration
KUI-433 Fixed duplicate error messages from CLI endpoint calls
KUI-776 Code cleanup of variant array in newCluster store object
KUI-776 Improve display of cluster details
KUI-779 Added CORS support to Jobs controller
KUI-779 Design and develop new way to execute KAgent install processes as jobs server-side
KUI-779 Fixed handling of node dataSize to force it to be string so backend can properly handle it
KUI-782 Added ID's on cluster list screen to identify cluster names and node IPs
KUI-782 Added ID's to upload buttons
KUI-782 Added IDs to rings-related UI elements for automated testing
KUI-782 Improved tooltip for KAgent bootstrap option
KUI-782 Reorganized cluster detail screen
KUI-782 Support QE team automated test development by adding missing meta to UI
KUI-787 Clean up invalid cluster recovery data from localStorage
KUI-787 Const savedStates = secureGetAll();
KUI-798 Clarify and improved validation for Admin Password field
KUI-799 In the case there are multiple rings, default screen should be rings list
KUI-803 Allow for user to select which cluster to authenticate against for login
KUI-803 Improved layout of cluster list on login screen
KUI-809 Added validation for node hostnames and IP addresses
KUI-810 Upgraded React and Ant Design related libraries and fixed some security vulnerabilities
KUI-813 Implemented offline install option
KUI-818 Auto copy ssh username in provider config to ssh access screen for Azure and GCP
KUI-820 Added additional validation for cloud node configuration settings
KUI-821 Allow login to KAgent for any system_admin user
KUI-852 KAgent UI clarify messages when adding existing cluster
KUI-856 Fix in Kagent to not show successful installation when something may have failed
KUI-858 Fixed NullPointerException when trying to upgrade existing cluster within KAgent


None currently


Should you have any questions or concerns, please visit our support page, official documentation page or email us at

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Article is closed for comments.