Kinetica Release Notes

Build version:



KDEVOPS-221 not to chown kifs if not included
KDEVOPS-407 Added gpudb.conf path to usage of script
KDEVOPS-423 Fixed cuda80 (no gl support yet) and move to runtime rather than devel
KDEVOPS-434 Added .template version of to distribution
KDEVOPS-434 Updated RPM and Deb to merge
KDEVOPS-445 Include socache modules in distribution
KDEVOPS-445 Update httpd.conf to enable ssl cache and handle a higher number of connections
KECO-1274 Updating the dependent Java API version
KGEO-519 Adaptive vector tile LOD generation according to the amount of data in an LOD tile structure
KGEO-519 Fixed a missing polygon issue in adaptive vector tile LOD generation
KGEO-553 Added restrictions to query graph
KGEO-556 Added options to query_graph and solver_graph
KGEO-563 Added an API to retrieve OpenGL renderer status to RendererFactory
KGEO-568 Fixed GPU frame buffer allocation issue with many concurrent requests and 4 toms per rank
KGEO-570 Allow graph endpoints (mainly query) to consume direct input instead of having to refer to pre-existing table(s)   + Fixed warning in diffpng
KGEO-574 Added convenience in graph endpoints to use a constant array of size 1 to create a corresponding derived columns to send to the graph server. Fixed keep_derived_table option + Fixed out of bound reference in contour plot
KGEO-577 Fixed missing cleanup of temporary tables when the graph server return an error
KGEO-577 Removed direct input arrays from query_graph, but left them in query_graph_server + adjusted options + updated all tests and utils
KGEO-588 Changed asserts on graph tests results to not rely on solution table order
KGEO-594 Thread pool kludge for EGL rendering

Carry over compression setting when compacting a base vector

KINFRA-1037 Check for vector changes before compression with synchronous_compression
KINFRA-1037 Fix in sync_chunks: verify isFileOutOfSync before column compression on non-persisting tables
KINFRA-1037 Remove check from GaiaSetBaseVector::syncMemToFile
KINFRA-1054 make-gaia-dist wrap all builds in functions and added parallel code
KINFRA-1057 Fix GaiaSetDictVector.cpp extend_min_max to not use std::min/max on large Fixed_array<N> types, a memcpy to same address
KINFRA-1068 Fix 'thread capacity reached' errors
KINFRA-1069 Update watermark logging rate
KINFRA-1070 Don't set evict action to persist on GaiaSetData if no persist file
KINFRA-1070 When GaiaSet is destroyed, let GaiaSetData set its own eviction action to avoid chunk vector/JobManager deadlock
KINFRA-1071 Fix deadlock in jobmanager cancel to GaiaSetFileSync::deleteFile() getting chunk lock and request checking if canceled
KINFRA-1073 Fix race condition in test. Verify zmq thread started before adding a table monitor
KINFRA-1074 Add ability cancel alter table column
KINFRA-1074 Add scoped unlocker in ConcurrentSGMap
KINFRA-1074 Update list of cancellable and timeout able jobs
KINFRA-1076 Decode shutdown request in Worker_shutdown
KINFRA-1077 Add AbortableConditionSet for mass aborts of conditions Add support for AbortableConditionSet to OrderedRWLock Add support for initial unlocked state and try lock to ScopedOrderedRWLock Fix double unlock bug in ConcurrentSGMap by switching from unlocker to initially unlocked scoped lock
KINFRA-1078 Fix issues with obsolete gaiaset cache after a rebalance Also Fix the distribution type for get_records_by_series messages
KINFRA-1079 Fix in Endpoint_rebuild_db.cpp stop_view_refreshes before clear_table_response
KINFRA-1081 Fix MurmurHash crash on giant (>INT_MAX) strings due to size_t -> int wrapping
KINFRA-1085 Better error logging in ProcManager when it tries to create and chown dirs
KINFRA-1085 use sed -f cmdfile to rename gdb threads, one at a time is too slow now
KINFRA-1085 uses gdb -ex cmd instead of pipe to stdin for rhel6 'Hangup detected on fd 0' error, pipe works on centos6

Fix failure running test_clear_table twice

KINFRA-1089 Fix hanging jobs in dire ram tier scenarios
KINFRA-1090 Add proper initialization of new job_param to create_worker in TieredStorageTest
KINFRA-1094 Make alter_system_properties and get_set_sizes_internal run in system resource group
KINFRA-1095 Add vector index check in JoinedSet::get_stencil for equi join
KINFRA-1095 cmakelists catch boost asset and check std::vector limits -DBOOST_ENABLE_ASSERT_HANDLER=TRUE
KINFRA-1095 Don't throw in vector[] check handler, GaiaZmq and Serialize don't access empty &vect[0]
KINFRA-1095 Fix Serialize::read(string) to not access the &buffer[0] if empty string, but clear it instead

Fix vector out-of-bounds accesses

KINFRA-1095 ObjectSink_insertIntoSet() skip empty vectors to not access &vect[0]
KINFRA-1095 std::vector[] limit check, pass type_info to handler func to print, Fix avro encoder assign_response(), IntToCharNUtils don't copy empty vects, Endpoint_aggregate_unique skip handling nulls if no rows
KINFRA-1096 Update
KINFRA-1096 Update to test collection

Remove unneeded checkPinnedWrite call

KINFRA-1099 Make materialized view manual refreshes read jobs so that two refreshes of the same mat. view can't deadlock each other
KINFRA-1104 Fix tier leak during rollback of realc'd pinned obj
KINFRA-1110 Fix AlertManager get better estimate of 'available' free mem, code in Numa.cpp
KINFRA-1120 Ensure that chunk cache and value cache are both cleared in GaiaSet::delete_objects_according_to_stencil()

Modify add ranks/remove/rebalance tests to use insert_records_random to generate starting data faster

KINFRA-1124 Add ~JoinedSet in cpp file and explicitly clear pointers in try/catch to help debugging
KINFRA-1124 Change ~JoinedSet to delete in reverse order of declarations
KINFRA-1124 Fix 'obj tiered in dtor' error from MemBlock Fix
KINFRA-1124 Fix BlockStencil::deallocateObject() m_row_indices_each_index_len and m_row_indices_each_index_len should be resized() not reserved()

MemoryTierManager::allocateObject() return false if obj.allocateObject() throws


Fix type: m_part_of_previously_joined_set initialization


Cleanup Job in EndpointJobInfoWrapper destructor


Refactor exec.notifySchedulingComplete into an atomic op


Persist and load shard version on rank 0


SecurityManager returns system resource group for the system user; /add/ranks, /remove/ranks, /rebalance endpoints all now use system user for internal messages


When getting table sizes, do not refresh views/joins during/after rebalance


CMakeLists don't link to GLU and GL, only EGL and GLESv2. Add nvidia-smi check in gpudb start script for cuda


In Worker_rebalance_sharded make sure we still clear rebalancing status from the shard controller if the worker throws


When an /admin/add/ranks fails due to invalid conf params, return a more informative message to the user


FastAvroUtils.cpp encode_object doesn't make extra copy of string anymore, use correct constructor


Ensure that indexdb is created during finalize when result table persist is specified and result set is larger than the chunk size


Endpoints that block solo jobs only do so if they don't already have job id


Add a log with elapsed time before sync msg is sent during /add/rank


In GaiaSetData when loading from persist, populate chunk id to chunk index map for all chunks (was only populating chunk 0)


Add random seed option to /admin/rebalance endpoint to help recreate specific issues, and other minor tweaks to


In, Added deletions to join & filter tests, Added tracks test


Whitelist tables in rebalancing test (can't compare different queries and expect same result because of now() in expression)


Plumb Worker and WorkerExecutionContext into all Chunker constructors - use these in the JoinedSetChunker constructor to replace parallel OMP loop with IndexedWorkItemExecutor


Equijoin on Equijoin now filters out null values per SQL 92 compliance


Add hash partition capability - needed to optimize window function projection creation - we can use hash partitioning to colocate values in chunks so that we can do chunked window function evaluation


Add ipv4_part functions


View definition reloading from the persist after restart of the database


append/records fast path to support random sharding


don't allow to refresh/set_refresh_period/set_refresh_method/set_refresh_start_time on base table


Handle resource group endpoints in SQL executor


Make partition interval syntax consistent with SQL - support INTERVAL 'amount' date-part syntax in native API - return whichever syntax the user provided back to show table


Multi-head Insert support for ODBC


Enhanced the tests to check for chunk skipping in the Filter Plan that gets logged with explain_create option in create_join_table


Added test to check if BoundingBox is persisted and restored after database restart - The utility function is_indices_subset is replaced by deleting few local functions - CHAR1 to CHAR256 data types are now Persisted - Equi join filter plan is enhanced to display the number of chunks processed and total chunks


predicate-equi-join implemented and tested - serial version


predicate-equi-join parallel version - deadlocks - disabled while retagging


predicate-equijoin temporarily disabled in preparation for tagging - Added extra Tracers


Fix crash bug when running all_test in parallel - Fix a case where we were calling avro::compileJsonSchema with an existing ValidSchema - AVRO documentation makes clear you can't update a ValidSchema - therefore make sure to generate a new one (merged up from 6.2)


Add support of chunk skipping for stxy_Geometry functions


Deleted a misleading comment in EvnIntersectKernel.cpp


Fix SQL show table outputs for decimal and bytes types


Fix explain output as extra projection has been removed


Fix FilterPlanner::check_sharding_requirements to correctly handle joins of joins where shard key components equated are from different sets


Fix replicated table keys joined to shard keys become shard keys in subsequent joins


Fix test case to not to use table name constants


Fix transitive closure for join shard key columns


Fixed FilterPlanner::check_sharding_requirements to handle case where shard keys aren't exported


Visualize sql plan in graph layout: An internal tool developed to debug the sql issues


Honor request_timeout in /execute/sql endpoint


Add EglTest dir, exe, and add to core/bin/gpudb_egltest in package


Fix CmakeLists egltest dep on eglrenderer


gpudb script add disabled (for now) check calling gpudb_egltest if conf enable_opengl_renderer=true, 2nd user fails


Prepare window functions to be executed on multiple chunks - currently we reduce offsets by the max number of records passed to the window function, but this is inappropriate if a window function is executed against multiple chunks since each could have a different size


Export alternate shard keys in /show/table


Show alternate shard keys in the /show/table output


Support DDL related endpoints in explain statement


Fix inconsistent result with sub-chunked predicate join with concurrent kernels on (due to a missing sync)


Convert to waitForInnerWorker - remove some unneeded scheduleWorkItem calls and call functions directly


Eliminate no longer used preprocess_queue and related code paths - used for on-query refresh of join tables which when supported again will be done differently


Removed internal-worker error check and re-throw that is already done by waitForInnerWorker


Correctly sized JoinedSet::get_stencil dim_set_idices_used local variable


Move SpaceEfficientVector checks out of loop by adding a for_each method.  Also move pinning out of the loop


Use boost::function instead of std::function for better performance


Added support for "limit" parameter + added additional logging


Eliminate extra re-shard when table is already sharded by window function partition key -basically boils down to distinguishing between when user requests sharding and when we have an existing sharding, and then only requesting a re-sharding if there hasn't been an intermediate re-shard - streamline the logic for re-sharding to make it more straightforward


Extend /show/table endpoint to accept multiple table names and also match names case-insensitive


Remove duplicates in input list


Revert CUDA version ifdefs for min/max window functions - recently merged the code so CUDA 9 would use index values instead of the original data vectors as CUDA 8 does - this caused a regression in fuzzer create_projection


Fix problems with max window function on ranged - one problem is when looking for end of range we used an == and not a <=, - the other problem being when the ORDER BY key is a decimal we need to scale up the range value


Fixed two related window function bugs - Added more tests in the same vein as this bug - Fixed two related bugs


Fixed concurrency related segfault due to simultaneous vector push_back during chunk processing


Add unpivot test on ipv4 sub-type


Updates to shard keys (updating the value of a shard key) will move the record to the appropriate tom (using the same delete/insert mechanism as updates to the primary key)


Added RANGE function support - created new algorithm for computing ranges by finding indices for beginning and ending of frame and then iterating over those ranges - Added three new code paths for the function classes sum/count/avg, min/max, and first_value/last_value - Added two new code paths for each class of function, unbounded vs bounded frames - Added NULLS FIRST and NULLS LAST capability to window functions - merged the min and max kernels into a min/max kernel to reduce code - eliminated the CUDA 8 vs 9 distinctions to reduce complexity - split up main window function kernel into multiple methods for maintainability - Added ParserUtils::match() method to streamline parsing of functions - Added range tests to test_window_functions and test_window_functions_variable - Added ability to scale up test_window_functions


Fix embedded quotes in dump of Tracer args list


Add NVL2 function test on IPV4


To make IPV4_DATATYPE first datatype to null functions work as expected


Add support for Logical Views in "table" list screens


Add support for SSL in KiSQL GAdmin GUI (7.0)


Add JSON version of partition definitions -make it easier for GADMIN to parse the definitions


Support add/remove partition in edit table


Add ability to sort columns by name for configure table screen



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.