Bug Fixes in Release 2.5 of the Splice Machine Database

This topic describes bug fixes in the Splice Machine Database, which is used in both our Database-as-Service and On-Premise Database products, with notes for each patch release since the initial release of version 2.5, in these sections:

2.5.0.1805 Patch Release 5-Feb-18

JIRA-ID Description
SPLICE-1995 Correct imported rows

2.5.0.1804 Patch Release 28-Jan-18

JIRA-ID Description
SPLICE-1717 Asynchronous transaction resolution in compactions
SPLICE-2012 HMaster doesn't exit after shutdown

2.5.0.1803 Patch Release 21-Jan-18

JIRA-ID Description
SPLICE-2004 Fix inconsistency between plan logged in log and that in the explain

2.5.0.1802 Patch Release 14-Jan-18

JIRA-ID Description
SPLICE-1870 Fix update through index lookup path
SPLICE-1927 Amend pattern string for detecting splice machine ready to accept connections
SPLICE-1998 Modify splice 2.5 log file's time stamp format to ISO8601

2.5.0.1749 Patch Release 26-Dec-17

JIRA-ID Description
SPLICE-1983 OOM in Spark executors while running TPCH1 repeatedly

2.5.0.1748 Patch Release 18-Dec-17

JIRA-ID Description
SPLICE-1970 Exclude metrics jars from splice-uber.jar to avoid class loader issues when using Spark Adapter
SPLICE-1978 Add null check to GET_RUNNING_OPERATIONS

2.5.0.1747 Patch Release 08-Dec-17

JIRA-ID Description
SPLICE-865 Check if enterprise version is activated and if the user try to use column privileges.
SPLICE-1784 Query does not scale on 4000 regions (2.5)
SPLICE-1895 Wait for wrap up before closing remote query client (2.5)
SPLICE-1906 Make coprocessors throw only IOExceptions
SPLICE-1908 Add check for actionAllowed
SPLICE-1921 Fix wrong result with sort merge inclusion join for spark path
SPLICE-1928 Decode region start/end key by fetching actual rowkey
SPLICE-1930 Fixes an issue where maven uses platform installed protobuf
SPLICE-1934 WordUtils.wrap() from commons-lang3 3.5 is broken
SPLICE-1937 Add cdh5.12 platform (2.5)
SPLICE-1961 Missing splice_spark module in pom.xml

2.6.1.1745 Patch Release 08-Dec-17

2.6 was an interim release that has been folded in to 2.5

JIRA-ID Description
SPLICE-1784 Trying to do cutpoints again
SPLICE-1887 Fix memory leak for merge join
SPLICE-1906 Make coprocessors throw only IOExceptions
SPLICE-1915 Enable query logging by default
SPLICE-1921 Fix wrong result with sort merge inclusion join for spar
SPLICE-1895 Wait for wrap up before closing remote query client
SPLICE-1928 Decode region start/end key by fetching actual rowkey
SPLICE-1934 WordUtils.wrap() from commons-lang3 3.5 is broken

Splice Patch Release 2.5.0.1735

JIRA ID Issue Description
SPLICE-8 Make CTAS work with case sensitive names
SPLICE-57 Drop backing index and write handler when dropping a unique constraint
SPLICE-77 Order by column in subquery not projected should not be resolved
SPLICE-79 Generate correct insert statement to import char for bit column
SPLICE-612 Fix wrong result in right outer join with expression in join condition
SPLICE-737 GetTableNumber should return -1 if it cannot be determined
SPLICE-835 Mapping TEXT column creation to CLOB
SPLICE-865 Check if enterprise version is activated and if the user try to use column privileges.
SPLICE-976 Do not allow odbc and jdbc requests other than splice driver
SPLICE-1023 Add more info in the message for data import error
SPLICE-1062 Retry if region location cannot be found
SPLICE-1098 Prevent nonnull selectivity from being 0
SPLICE-1116 Fixing OrderBy Removal from set operations since they are now hashed based
SPLICE-1122 Deleting a table needs to remove the pin for the table.
SPLICE-1160 Report syntax error instead of throwing NPE for topN in set operation
SPLICE-1208 Fix mergeSortJoin overestimate by 3x
SPLICE-1211 Open and close latency calculated twice for NLJ
SPLICE-1290 Adding Batch Writes to the dictionary
SPLICE-1294 Poor Costing when first part of PK is not =
SPLICE-1320 Fix Assertion Placement and Comment Out test to get build out
SPLICE-1323 Add null check for probevalue
SPLICE-1324 Making Sure SQLTinyInt can SerDe
SPLICE-1329 Memory leak in SpliceObserverInstructions
SPLICE-1349 Serialize and initialize BatchOnceOperation correctly
SPLICE-1353 Export to S3
SPLICE-1357 Fix wrong result for right outer join that is performed through spark engine
SPLICE-1358 CREATE EXTERNAL TABLE can failed with some specific users in hdfs,
SPLICE-1359 SanityManager.DEBUG messages create a lot of noise in derby.log
SPLICE-1360 Adding SQL Array Data Type Basic Serde Functions
SPLICE-1361 Kerberos keytab not picked up by Spark on Splice Machine
SPLICE-1362 Synchronize access to internalConnection's contextManager
SPLICE-1369 Store external table on S3
SPLICE-1370 INSERT, UPDATE, DELETE error message for pin tables
SPLICE-1374 Bad file in S3
SPLICE-1375 Fix concurrency issues reporting failedRows
SPLICE-1379 The number of threads in the HBase priority executor is inadequately low
SPLICE-1386 Load jar file from S3
SPLICE-1395 Add a generic error message for import failure from S3
SPLICE-1410 Make the compilation of the pattern static
SPLICE-1411 Resolve over clause expr when alias from inner query is used in window fn
SPLICE-1423 Add null check for bad file directory
SPLICE-1424 Removing Unneeded Visitor from FromTable
SPLICE-1425 Fix data type inconsistencies with unary functions and external table based on TEXT data format
SPLICE-1430 Remove pin from dictionary and rely on spark cache to get the status of pins & Fix race condition on OlapNIOLayer
SPLICE-1433 Fix drop pinned table
SPLICE-1438 Fix the explain plan issues
SPLICE-1443 Add logging to debug "can't find subpartitions" exception
SPLICE-1443 Skip cutpoint that create empty partitions
SPLICE-1446 Check schema for ext table only if there's data
SPLICE-1448 Make sure SpliceSpark.getContext/Session isn't misused
SPLICE-1452 Correct cardinality estimation when there is missing partition stats
SPLICE-1453 Fixing Calculating Stats on Array Types
SPLICE-1461 Add null check on exception parsing
SPLICE-1461 Wrap exception parsing against errors
SPLICE-1462 Adding Mesos Scheduling Option to Splice Machine
SPLICE-1463 Sort results in MemStoreKVScanner when needed
SPLICE-1464 Bypass schema checking for csv file
SPLICE-1469 Set hbase.rowlock.wait.duration to 0 to avoid deadlock
SPLICE-1470 Make sure user transaction rollbacks on Spark failure
SPLICE-1473 Allow user code to load com.splicemachine.db.iapi.error
SPLICE-1478 Fixing Statement Limits
SPLICE-1479 iterator based stats collection
SPLICE-1480 Allow N Tree Logging
SPLICE-1481 Unnecessary Interface Modifier
SPLICE-1489 Make Predicate Pushdown defaulted for ORC
SPLICE-1490 Bringing Derby Style Forward
SPLICE-1491 Remove Array Copy for Key From Insert
SPLICE-1526 Handle CodecPool manually to avoid leaking memory
SPLICE-1531 Fixed ThreadLocal in AbstractTimeDescriptorSerializer
SPLICE-1533 Eliminate duplicates in the IN list

SPLICE-1541

SPLICE-1543

Fix IN-list issues with dynamic bindings and char column
SPLICE-1550 Recursive Init Calls
SPLICE-1559 bulkImportDirectory is case sensitive
SPLICE-1561 Allowing Clients to turn off cache and lazily execute
SPLICE-1567 Set remotecost for merge join
SPLICE-1578 Upgrade from 2.5 to 2.7
SPLICE-1582 Apply memory limit on consecutive broadcast joins
SPLICE-1584 Fix IndexOutOfBound exception when not all column stats are collected and we try to access column stats for estimation.
SPLICE-1586 Prevent NPE when Spark job fails
SPLICE-1589 All transactions are processed by pre-created region 0
SPLICE-1597 Fix issue with cache dictionary when SYSCS_UTIL.SYSCS_UPDATE_SCHEMA_OWNER is called .
SPLICE-1601 Fix wrong result for min/max/sum on empty table without groupby
SPLICE-1609 Normalize row source for split_table_or_index procedure
SPLICE-1611 TPC-C workload causes many prepared statement recompilations
SPLICE-1613 Ignore saveSourceCode IT for now
SPLICE-1621 Fix select from partitioned orc table error
SPLICE-1622 Return only latest version for sequences
SPLICE-1624 Load pipeline driver at RS startup
SPLICE-1628 Don't raise exception if path doesn't exist
SPLICE-1628 Parallelize hstore bulkLoad step in Spark
SPLICE-1637 Enable compression for HFile gen in bulk loader
SPLICE-1639 Fix NPE due to Spark static initialization missing
SPLICE-1640 Apply memory limit check for consecutive outer broadcast join and derived tables
SPLICE-1660 Delete Not Using Index Scan due to index columns being required for the scan.
SPLICE-1675 Merge partition stats at the stats collection time
SPLICE-1682 Perform accumulator check before txn resolution
SPLICE-1684 Fix stats collection logic for ArrayIndexOutOfBoundsException in the presence of empty partition and some column stats disabled
SPLICE-1690 Merge statistics on Spark
SPLICE-1696 Add ScanOperation and SplcieBaseOperation to Kryo
SPLICE-1698 StringBuffer to StringBuilder
SPLICE-1699 Removing Unused Imports
SPLICE-1703 Replace size() == 0 with isEmpty()
SPLICE-1704 Replace double quotes with isEmpty
SPLICE-1707 Fix Tail Recursion Issues
SPLICE-1708 Do not use KeySet where entryset will work
SPLICE-1711 Replace concat with +
SPLICE-1712 Remove Constant Array Creation Style
SPLICE-1737 Fix value outside the range of the data type INTEGER error for analyze table statement.
SPLICE-1744 Removing Dictionary Check
SPLICE-1748 Fixing Role Cache Usage
SPLICE-1749 Fix delete over nestedloop join
SPLICE-1759 HBase Master generates 1.1GB/s of network bandwidth even when cluster is idle
SPLICE-1769 Improve distributed boot process
SPLICE-1773 Unifying the thread pools
SPLICE-1781 Fixing Object Creation on IndexTransformFunction
SPLICE-1784 Fixing Serial Cutpoint Generation
SPLICE-1784 Query does not scale on 4000 regions
SPLICE-1791 Make username's more specific to resolve concurrent conflicts
SPLICE-1792 BroadcastJoinMemoryLimitIT must be executed serially
SPLICE-1795 Fix NullPointerExeption for update with expression, and uncomment test case in HdfsImport related to this bug
SPLICE-1798 Parallel Queries can fail on SPS Descriptor Update...
SPLICE-1813 Transaction are not popped from transaction stack when releasing savepoints
SPLICE-1824 NullPointer when collecting stats on ORC table
SPLICE-1850 Couldn't find subpartitions in range exception with external tables
SPLICE-1853 Wrong count(*) result for partitioned external table
SPLICE-1854 wrong result query orc table with predicate on date column
SPLICE-1858 Join result is wrong for a partitioned external table
SPLICE-1860 Error analyzing table when columns contains zero length data
SPLICE-1865 Boolean operator <> is broken with external tables
SPLICE-1867 SHOW TABLES is broken
SPLICE-1874 Large table scan runs on control with predicate of high selectivity
Internal Allow more packages to be loaded from user code
Internal Drop and re-create foreign key write handler after truncating a table
Internal Name space null check
Internal Fix table number to allow predicate push down
Internal Remove check for collecting schema level stats for external table
Internal Explicitly unset ordering
Internal Redo nested connection on Spark fix
Internal Avoid bad file naming collision
Internal Allow inner table of broadcast join to be any FromTable
Internal Fix stat collection on external table textfile
Internal Resubmit to Spark if we consume too many resouces in control
Internal Fix a couple issues that cause backup to hang
Internal Clean up timeout backup
Internal Bind select statement only once in insert into select
Internal Concatenate all iterables at once to avoid stack overflow error
Internal Prune query blocks based on unsatisfiable conditions
Internal Fix hash join column ordering
Internal Throw BR014 for concurrent backup
Internal Fix incremental backup hang
Internal Restore cleanup
Internal Continue processing tables when one doesn't have a namespace
Internal Restore a chain of backup(2.5)
Internal Correct postSplit
Internal Fixing S3 File System Implementation
Internal Allowing SpliceClient.isClient to allow distributed execution for inserts
Internal Fix Driver Loading in Zeppelin where it fails initially
Internal Fix a problem while reading orc byte stream
Internal Disable dictionary cache for hbase master and spark executor
Internal Fix Orc Partition Pruning
Internal Making sure schema is ejected from the cache correctly
Internal Disable Spark block cache and fix broadcast costing
Internal Fixing ClosedConnectionException
Internal Clean up backup endpoint to avoid hang
Internal Update the error message when partial record is found
Internal Suppress false constraint violation during retry
Internal Avoid deleting a nonexist snapshot
Internal Keep the column indexes zero based for new orc stats collection job
Internal Correct a query to find indexes of a table
Internal Spark job has problems renewing a kerberos ticket
Internal Support ColumnPosition in GroupBy list
Internal Fix wrong result for broadcast with implicit cast from int to numeric type
Internal Fix limit on multiple partitions on Spark

Splice Patch Release 2.5.0.1729 01-Aug-17

JIRA ID Description
SPLICE-77 order by column in subquery not projected should not be resolved
SPLICE-79 generate correct insert statement to import char for bit column
SPLICE-612 fix wrong result in right outer join with expression in join condition
SPLICE-774 Reset statistics during upgrade
SPLICE-774 Wait for master to clear upgrade znode
SPLICE-1023 add more info in the message for data import error
SPLICE-1098 prevent nonnull selectivity from being 0
SPLICE-1294 Poor Costing when first part of PK is not =
SPLICE-1395 add a generic error message for import failure from S3
SPLICE-1423 clean up import error messages for bad file
SPLICE-1438 fix the explain plan issues
SPLICE-1443 Skip cutpoint that create empty partitions
SPLICE-1452 correct cardinality estimation when there is missing partition stats
SPLICE-1461 Wrap exception parsing against errors
SPLICE-1469 Set hbase.rowlock.wait.duration to 0 to avoid deadlock
SPLICE-1470 Make sure user transaction rollbacks on Spark failure
SPLICE-1473 Allow user code to load com.splicemachine.db.iapi.error
SPLICE-1478 Fixing Statement Limits
SPLICE-1497 Add flag for inserts to skip conflict detection
SPLICE-1526 Handle CodecPool manually to avoid leaking memory
SPLICE-1533 eliminate duplicates in the IN list
SPLICE-1541 fix IN-list issues with dynamic bindings and char column
SPLICE-1543 fix IN-list issues with dynamic bindings and char column
SPLICE-1559 bulkImportDirectory is case sensitive
SPLICE-1582 Apply memory limit on consecutive broadcast joins
SPLICE-1584 fix IndexOutOfBound exception when not all column stats are collected and we try to access column stats for estimation.
SPLICE-1586 Prevent NPE when Spark job fails
SPLICE-1589 All transactions are processed by pre-created region 0
SPLICE-1601 fix wrong result for min/max/sum on empty table without groupby
SPLICE-1609 normalize row source for split_table_or_index procedure
SPLICE-1622 Return only latest version for sequences
SPLICE-1624 Load pipeline driver at RS startup
SPLICE-1628 HFile bulk load is slow to copy/move HFile to regions
SPLICE-1637 Enable compression for HFile gen in bulk loader
SPLICE-1639 Fix NPE due to Spark static initialization missing
SPLICE-1640 apply memory limit check for consecutive outer broadcast join and derived tables
SPLICE-1660 Delete Not Using Index Scan due to index columns being required for the scan.
SPLICE-1675 merge partition stats at the stats collection time
SPLICE-1682 Perform accumulator check before txn resolution (2.5)
SPLICE-1684 fix stats collection logic for ArrayIndexOutOfBoundsException in the presence of empty partition and some column stats disabled
SPLICE-1690 Merge statistics on Spark (2.5)
SPLICE-1692 Perform (anti)tombstone txn resolution only when needed
SPLICE-1696 Add ScanOperation and SplcieBaseOperation to Kryo
SPLICE-1702 refresh/resolve changes with latest master branch
SPLICE-1737 fix value outside the range of the data type INTEGER error for analyze table statement.
SPLICE-1749 fix delete over nestedloop join
SPLICE-1759 HBase Master generates 1.1GB/s of network bandwidth even when cluster is idle
SPLICE-1781 Fixing Object Creation on IndexTransformFunction
SPLICE-1782 Code Cleanup on BulkInsertRowIndex
SPLICE-1784 Fixing Serial Cutpoint Generation
SPLICE-1791 Make username's more specific to resolve concurrent conflicts
SPLICE-1792 BroadcastJoinMemoryLimitIT must be executed serially
SPLICE-1795 fix NullPointerExeption for update with expression, and uncomment test case in HdfsImport related to this bug
SPLICE-1798 Parallel Queries can fail on SPS Descriptor Update...
Internal null checking for REGEXP_LIKE
Internal Resubmit to Spark if we consume too many resouces in control
Internal Fix a couple issues that cause backup to hang
Internal Backups block flushes forever if not stopped cleanly
Internal bind select statement only once in insert into select
Internal concatenate all iterables at once to avoid stack overflow error
Internal fix hash join column ordering
Internal throw BR014 for concurrent backup
Internal fix incremental backup hang
Internal Continue processing tables when one doesn't have a namespace
Internal correct postSplit
Internal disable dictionary cache for hbase master and spark executor
Internal Making sure schema is ejected from the cache correctly
Internal Disable Spark block cache and fix broadcast costing
Internal Fixing ClosedConnectionException handling
Internal clean up backup endpoint to avoid hang
Internal update error message when partial record is found (2.5)
Internal suppress false constraint violation during retry
Internal avoid deleting a nonexist snapshot
Internal cleanup failed backup from old build
Internal correct a query to find indexes of a table
Internal Spark job has problems renewing a kerberos ticket
Internal support ColumnPosition in GroupBy list
Internal fix wrong result for broadcast with implicit cast from int to numeric type
Internal Fix limit on multiple partitions on Spark

Splice 2.5 GA Release 01-Mar-17

JIRA ID Description
SPLICE-961 Context manager leaks in OlapServer
SPLICE-995 TPCC test fails on CDH.5.7.2 platform
SPLICE-1059 Regression: create table using text data type gives syntax error.
SPLICE-1062 TPCH100g : Import fails with " java.util.concurrent.ExecutionException " in /bad record file.
SPLICE-1325 NLJoinFunction creates too many threads
SPLICE-1329 Memory leak in SpliceObserverInstructions
SPLICE-1379 The number of threads in the HBase priority executor is inadequately low
SPLICE-1353 Export to S3 gives java.lang.IllegalArgumentExceptionWrong FS
SPLICE-1361 Kerberos keytab not picked up by Spark on Splice Machine 2.5
SPLICE-1366 S3: Import fails in case of BAD directory parameter is set to null
SPLICE-1374 S3: import fails when S3 file source is specified as /BAD file source, with error: java.lang.IllegalArgumentException
SPLICE-1463 Reading from Spark sometimes returns deleted rows
Internal 2.0.x Class Not Found creating custom VTI
Internal Restore DB brokes database for creation tables in case new table creates after backup.
Internal Regression: backup_database() is giving communication error
Internal Class Not Found creating custom VTI
Internal database owner can be changed with improper connection string
Internal Restore from S3 fails with SQL exception Failed to start database 'splicedb'
Internal [ODBC] unable to get output of EXPLAIN statement
Internal [Backup/Restore][Incremental Backup] Unable to select from table after restoring from incremental backup.
Internal Inconsistent results from a query
Internal Running SpliceFileVTI not workingH

For a full list of JIRA’s for the Community/Open Source software, see https://splice.atlassian.net