Kinetica Release Notes

Build version:

  • 146 Resolved Issues


KGEO-653 Fixed rendering context errors for opaque classes and general code improvements
KGEO-653 New ordered class break implementation using depth values
KGEO-656 Fixed graph server message decoding issue
KGEO-664 Added a raster_cb wms option to enable/disable alpha-blending
KGEO-664 Added to plot2d CB test new test cases for ordered CB with translucent colors and fixed bugs found with the new test cases
KGEO-664 Fixed new ordered CB issues found with running tests on Intel build
KGEO-672 Added checks for bailing out when all points/shapes of a chunk are screened out due to new ordered class break implementation
KGEO-674 added a check for the case when the number of source chunks (of a join table) is zero
KGEO-687 Fixed ordered class break crash with Intel build and a single class
KGEO-76 WKT line anti-aliasing implementation
KGEO-668 Fix potential leak in GeoUtils::multipleRingBuffers and bufferWithOutDissolve
KGEO-668 Make mercTransformPoly() not leak memory if it throws exception
KGEO-672 Added checks for bailing out when all points/shapes of a chunk are screened out due to new ordered class break implementation
KGEO-673 Make GAIA_CALL_OPENGL check both the call's return value and error code from glGetError()
KGEO-674 Added a check for the case when the number of source chunks (of a join table) is zero
KGEO-687 Fixed ordered class break crash with Intel build and a single class
KGEO-76 WKT line anti-aliasing implementation
KINFRA-1095 Add more pip installs in, use numpy 1.16 (last pt<3.5 version)
KINFRA-1095 Fix ctrl-C handling, using env var to find all nose processes and kill them
KINFRA-1160 Relax start script func filter_docker_pids to look for only /docker, not :/docker

Enable chunk compaction to automatically run at the end of a rebalance, unless the rebalance is for removing ranks

KINFRA-1322 Plumb table name into PrimaryKey class for error logging
KINFRA-1323 Various tweaks to help with testing
KINFRA-1342 In Worker_recreate_tables, better error reporting when a base table fails to be created on an added rank
KINFRA-1346 Fix compile error
KINFRA-1346 Fix excessive SetManager missing table UERRs introduced in previous commit of replicated table sync refactoring
KINFRA-1346 In Endpoint.cpp added new sync points enum val to status map
KINFRA-1346 In EndpointHead fix incorrectly initialized member var
KINFRA-1346 In EndpointHead skip replicated table checks if root process manager doesn't exist (i.e. if endpoint is run on host manager)
KINFRA-1346 Re-designed/re-implemented syncing replicated table data to new ranks
KINFRA-1431 do not create directories in IndexedDB if rank/tom root directory does not exist
KINFRA-1448 Fix for when user is not allowed to impersonate (should use error handler, not throw)
KINFRA-1451 Add evict_columns option to /alter/system/properties
KINFRA-1455 First cut of multithreaded compaction
KINFRA-1455 Fix a couple issues introduced when making compaction async
KINFRA-1455 Fix leaking child compaction workers in Worker_rebalance_sharded
KINFRA-1455 Improve error handling in async compaction workers and Worker_rebalance_sharded
KINFRA-1455 In GaiaSet/GaiaSetCompactor finer tuned locks for compacting multiple chunks in parallel
KINFRA-1455 Parallelize chunk compaction
KINFRA-1460 Add .temp file in table's persist directory for alter table and rebuild table, in case alter table failed and the new table is not deleted (gpudb crash?), when there is an incomplete directory left in persist. on startup, tables with a .temp file are not loaded
KINFRA-1464 Make unsharded rebalancing skip over logical views
KINFRA-1466 Fix bug in rename table: rename in rank0 only after all worker ranks complete
KINFRA-1471 Fixed hang in rebalancing
KINFRA-1471 Log rebalancing % complete every 5% to help with debugging after the fact
KINFRA-1477 Hardened tier strategy parsing and related /alter/table functionality
KINFRA-1482 When alter table in place fails make table as bad to be rebuilt. Add check for bad tables in GaiaSetChunk
KINFRA-1490 Add fsync conf parameters: fsync_on_interval, fsync_indexdb_immediate, fsync_metadata_immediate, fsync_inodes_immediate
KINFRA-1490 Add fsync parent dir in FileSync::deleteFile()
KINFRA-1490 Add fsync parent dir on delete files in indexedDB
KINFRA-1490 Remove conf from jsonWrapper class, and setIndexedDb flush only after file changed
KINFRA-1490 Update Utils/File.h/cpp with different methods of syncing, better logging, cleanup
KINFRA-1491 Enhancements for rebalancing to work better under tier pressure
KINFRA-1495 Add collection to create_table, from rank0 table info
KINFRA-1495 Update
KINFRA-1498 Don't allow a cluster op (add ranks, remove ranks, rebalance) with any views or joins in system
KINFRA-1523 Change the 'long tom bulk add time' threshold from 5 to 60 when fsync_indexdb_immediate is true
KINFRA-199 Fix remove rank test script from last commit
KINFRA-199 Fixed excessive warnings in rebalancing that sometimes happened due to bad math
KINFRA-199 Make shard version an int64_t in a few places where it wasn't
KINFRA-199 Minor fix in rebalancing test code
KINFRA-199 Set default rebalance aggressiveness to 7 (out of 10)
KINFRA-199 Update to previous commit
KINFRA-199 Updates to rebalancing test code
KINFRA-199 When multihead insert gets a job id (due to a rebalancing in progress) job table names are now read tables
KOLAP-1115 Added support for chunk skipping for geo unary filters
KOLAP-1305 Add nvml info to EglTest to help diagnose pci bus issues
KOLAP-1305 Link EGLTest to nvml to fix build and don't pint pciBusLegacy for backwards compatibility
KOLAP-1400 Check for all possible shard key alternatives for when creating union on joined sets
KOLAP-1400 Deletions of unused code
KOLAP-1400 Find the best fit shard key from union input tables
KOLAP-1467 Allow sharding on window function when source table is replicated also delete projection when there are errors throw before the result table is viable make use of the ScopedClearTable to manage the projection itself until it is viable
KOLAP-1530 /execute/sql endpoint no longer needs to block solo jobs while it's running
KOLAP-1530 Get calcite plan before getting jobid
KOLAP-1530 Set correct jobid to sqldriver
KOLAP-1530/1660 Reorg sql driver code and fix object name case sensitivity interaction with plan caching
KOLAP-1537 Disable checks that table is not a join table in,, Implement xy_intersectsv function Redo join table expression for filter-by-area kernel to use new xy_intersectsv function Fix bug in Parser.cpp:check_tokens where fold_minus is not set correctly after {
KOLAP-1567 Filter_by_box and filter_by_box_geometry now operate on join tables. filter_by_box_geometry also modified so derived geometries can be used for regular tables
KOLAP-1537 Implemented filter_by_radius, filter_by_radius_geometry_ fitler_by_area, filter_by_area_geometry
KOLAP-1553 Configurable callstack size for sql planner
KOLAP-1580 Fix the cast invalid charN to time bug when changing column properties
KOLAP-1580 Sort get/records/by/column results
KOLAP-1582 Detect integer divide-by-zero in the expression evaluator and return a UERR. Added a new internal 'divn' function to correctly ignore 0 values due to nulls for integer division
KOLAP-1592 Move date_dateadd_func to timestampadd overloading
KOLAP-1592 Move TIME_TIMEADD out of the 'dateadd' overloading to 'timestampadd' overloading
KOLAP-1592 Remove DATEADDSimplification, and implement dateadd functions
KOLAP-1592 Update some test scripts due to changes of timestampadd function overloading
KOLAP-1605 Fix count distinct (aggregate only) handling of null values for dict encoded columns
KOLAP-1605 Much faster count_distinct processing for 'select count(distinct dict_encoded_column) from <table>'. No speedup yet for 'select col, count(distinct dict_encoded_column) from <table> group by col' i.e. this is only for the 'aggregate only' code path/
KOLAP-1607 Apply review comments
KOLAP-1607 Compilation fix gcc 4.8.5, map::insert(make_move_it(begin(obj)), make_move(end(obj))) the moved obj must be non-const, newer versions allow const
KOLAP-1607 Enable aggregation on disk optimized strings
KOLAP-1607 First phase of remove rocksdb. in aggr/groupby replace hash lookup functionality with get columns from ids where the ids were generated using ki_record_id2() for all the string attributes that are referred in groupby attributes
KOLAP-1607 Fix code review comments. Fix plot2d labels extra copy issue
KOLAP-1607 Fix filter_by_string, update_records, visualize labels by removing the rocksdb dependency. insert, update, delete will not add or get strings/hashes to/from rocksdb
KOLAP-1607 Merge-out from master
KOLAP-1608 -filter-by-xxx tables and derived tables m_chunk_cache_enabled set to false protect against seting system properties chunk_cache_enabled to true in middle of join causing crash in add_chunk_plan_step fix meaning of chunk_cache_enabled and shadow_cube_enabled conf parameters
KOLAP-1608 'add filter key extension to primary_key and bitmask-1d filters Improve chunk function addition for wild cards add DEBUG logging for calculating keys. Reinstate test_join_filter_keys as part of but add to serial section and insure shadow_cube is disabled if test fails
KOLAP-1608 Change GaiaSetBase::m_plan_step to vector of shared pointers to plan step and make PlanStep mutex simple mutex rather than shared pointer * add new function GaiaSetBase::get_plan_step_rpn with intention of replacing GaiaSetBase::get_plan_step_key * Pass m_show_filters to all the JoinedSet filter workers with intention of not recording the chunk-ids unless we need to display the filters
KOLAP-1608 Begin extend_chunk_filter_key changed to get_chunk_filter_key
KOLAP-1608 Begin simplification of extend_chunk_filter_key
KOLAP-1608 Change SetChunk to SetChunkRpn
KOLAP-1608 Cleanup begin removing chunk_filter_key_maps change get_chunk_filter_key_map_string to just call get_chunk_filter_key for all the chunks
KOLAP-1608 Extend_chunk_filter_key changed to get_chunk_filter_key for predicate-equi-join and primary-key joins
KOLAP-1608 Finish simplification of extend_chunk_filter_key to not record rpn
KOLAP-1608 Improve show filters option so the python tests can verify the filter keys used by each filter plan step
KOLAP-1608 Move add_chunk_plan_step to a point in the between and unary filter join workers before the actual filtering to support chunk caching
KOLAP-1608 Mutex protect PlanStep map
KOLAP-1608 Record plan steps to create filter keys
KOLAP-1608 Worker_between_join_filter.cpp now correctly adds chunk plans for all-true between expressions on column_nullable columns
KOLAP-1609 Change GaiaSetChunkMap chunk_key from string to vector of ints add wild card matching rule for invalidating chunks
KOLAP-1609 Implement KernelDataHelper::get_response_caches with GaiaSetBase::get_chunk_filter_key
KOLAP-1609 Remove dead get/set_between_expression_key code from GaiaSetBase, GaiaSet and JoinedSet
KOLAP-1630 Add non-interval ranges for all date/time types add support for integer ranges in window functions when ordering by date/time types makes use of recent changes to TIMESTAMPADD to support all types added tests for all types
KOLAP-1630 Fix failing test by restricting date ranges rather than allowing generic expressions for date/time ranges, restrict to only interval expressions and numeric constants may be more conservative than necessary but we can't be sure it will handle all expressions without more testing also eliminate some dead code
KOLAP-1638 Verify that filter-by-table spatial requires a view to be specified. Change a kernel-level ERROR log to WARN about filter-by-table with non-polygon geometries
KOLAP-1646 /filter endpoint does not derive bounded expressions with joined sets involving ITER tables. So, replacing /filter endpoint call with a /create/jointable
KOLAP-1646 Using wildcard * for /create/jointable column names
KOLAP-1659 Add chunk-skipping tests for charN types and indexed column - New skip algorithm for in clause where we preprocess in operators before looping through chunks  convert in operator vector constant to typed vector and record info in RpnElement m_skip_in_dt, m_skip_in_vector Use this information in skip_chunk_for_in_clause to more efficiently process in clauses for chunks  Add more tracers to - Parser.h added RpnElement m_skip_in_dt, m_skip_in_vector and handle in copy and assignment operators - Parser.cpp fast return from evaluate_skip if we determine apply_skip_to_rpn tree returns with single constant value do not go through simplifier and evaluator
KOLAP-1659 Get GaiaSet count without pinning stencils if possible improves JoinedSet constructor performance for many chunks - Split out chunk skipping in JoinedSet constructor into its own parallized loop required plumbing Worker into JoinedSet constructor - Modified Worker_create_join_table, Worker_join_filter and Worker_incremental_join to pass in Worker to JoinedSet constructor and extend function - WorkerChunker now has Tracer for onProcessChunkImpl
KOLAP-1660 Add test case validating the plan cache interaction when duplicate objects with different case exists
KOLAP-1660 Added missing decorator for test function
KOLAP-1665 Renaming joins needs to make sure the keys in request_avro_json are in right order
KOLAP-1666 Fixed a bug by implementing TIME_INT_CAST function
KOLAP-1679 date/datetime support 9999 year to denote unknown
KOLAP-1679 Fixed some typos
KOLAP-1681 Modified the second argument of time_timeadd_func/date_dateadd_func - now long instead of int
KOLAP-1691 Fix compilation in Parser.cpp for gcc 4.8.5, vect::emplace(non-const only in 4.8.5 it, ...)
KOLAP-1691 Fix for handling default arguments being inserted as first parameter (for DATEDIFF and DATEADD)
KOLAP-1692 Fix test to insure odd numbered rows are not 0
KOLAP-1692 Nullable function arguments implemented not tested
KOLAP-1696 Added direct implementation of divz and divzn functions. ParserSimplifier changes divz to divzn if 1st or 3rd argument is nullable.  Tests for all data types and nullable status of all three arguments added
KOLAP-1696/1582 If function prototype has one input arg marked nullable all must be fix DIVZN and DIVN functions to work correctly with this change
KOLAP-1696 Modify test_divz_types function to avoid possible ambiguity in comparing different datatypes output from get_records_by_colum to 0
KOLAP-1696 Modify test_divz_types function with simpler error checking
KOLAP-1705 Add Truncate Strings Option to /update/records
KOLAP-1708 Pass internal security token for join table endpoints
KOLAP-1711 Added more cases, and a simplifier for "NOT a != b" => "a == b" and related items. Removed "const" from functions, so they could store state variables, and because it was otherwise not needed
KOLAP-1711 Simplifier for IF(a != 0, b/a, x) => DIVZ(b, a, x) and some related cases
KOLAP-1714 Fix the bug by replacing is_valid_date_string() with gaia::is_date_string()
KOLAP-1718 Removed the extra quote in Filter by Bounds RPN evaluation
KOLAP-1720 Parallelize chunk copying in JoinedSet::extend_chunks
KOLAP-1720 std::vector<bool> is being updated concurrently. Modified to std::vector<int>
KOLAP-1741 Only reserve the current chunks size for pk lookup table vectors
KOLAP-1743 Added RWLocks around all accesses to PKLookupTable::get{Indices,ChunkIndices}{,Mutable}
KOLAP-1743 Disable 'asof' join (temporarily) until it is working correctly
KOLAP-1743 Fix a deadlock with the PKLookupTable RW lock
KOLAP-1743 Fix RW access to PKLookupTable indices/chunk indices. Rename the functions to getPKIndices/getPKChunkIndices to enable easier searching. Use local 'pinning' objects that go out of scope before the RWLock to avoid pin errors
KOLAP-1743 Re-enable asof join no locking needed
KOLAP-1755 Fix minor error in Type::get_contained_shard_key_list_of_joined_type
KOLAP-684 Add new parameter to decode_objects. Clean up some parameter parsing
KOLAP-684 Removed compiler warnings


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.