Hypertable Changelog

What's new in Hypertable 0.9.8.11

Mar 16, 2016
  • Added salvage
  • Added log_player
  • Added metalog_tool
  • Added htck
  • Added ht-wait-until-quiesced.sh
  • Updated copyright date
  • Fixed ssl link problem with recovery tools
  • Fixed bug in CellCacheScanner where scanned cells are only deletes
  • Fixed bug in fast_clock::to_time_t
  • Don't apply TIMESTAMP filter when scanning index tables
  • Removed thread_local storage specifier from random engine variable in Random

New in Hypertable 0.9.8.10 (Jan 3, 2016)

  • Updated for Thrift 0.9.3, Java 1.7, gcc 5.3.0
  • Added high priority reactor to AsyncComm used for UDP sockets with TOS
  • Fixed regression in COUNTER cell handling
  • add packaging files for python hypertable client
  • Fixed clang warnings; Marked appropriate declarations override
  • Added support for Hypertable.Master.RecordGraphvizStream
  • Eliminated warnings
  • Changed return type of FileDevice::read to signed
  • Add missing try/catch blocks to some RangeServer request handlers
  • Added STL-style directory container
  • Added javadoc target
  • Added ClusterDefinition class with system-wide System::cluster_def (and System.clusterDef for java)
  • Moved ClusterDefinition code to Common
  • Added --display-json option to ht_cluster

New in Hypertable 0.9.8.9 (Jul 7, 2015)

  • Fixed NO_LOG flag propagation and excessive sync'ing in TableMutatorAsync
  • Fixed bad assert in ThriftBroker during scanner lookup
  • gh67: Fixed RangeServer crash on shutdown
  • Fixed RangeServer status reporting on empty database
  • Fixed indefinite sleep problem in AsyncComm testServer
  • Fixed compile issues on OSX (lack of thread_local)
  • Replaced Boost random with C++11 random
  • Simulate quick_exit for versions of glibcxx that don't have it
  • update hypertable hyperic-sigar link broken
  • Support libboost_python library location x64 arch
  • Support library location x64 arch
  • Replaced all occurrences of boost::xtime with std::chrono
  • Added chrono::fast_clock (ClockT) for AsyncComm timing needs
  • Migrated to C++11 atomic variables
  • Replaced #include with #include
  • Migrated from Boost mutex and condition variable to C++11
  • Replaced boost::intrusive_ptr with std::shared_ptr
  • Replaced foreach_ht with C++11 range for
  • Replaced poll() with this_thread::sleep_for()
  • Replaced _exit with quick_exit; Replaced numeric exit codes with EXIT_SUCCESS & EXIT_FAILURE

New in Hypertable 0.9.8.8 (May 18, 2015)

  • Added NO_LOG feature to allow skipping commit log write
  • Added group commit to MetaLog
  • issue 1196: Periodically roll MetaLog file to prevent it from getting too big
  • Improved file flush logic in HDFS broker
  • issue 1341: Eliminated superfluous memory copy in CellStoreScannerIntervalBlockIndex::fetch_next_block
  • Added --pidfile option to performance test Client and Dispatcher
  • Secondary index improvements (including performance)
  • Small fix on scan and filter rows
  • Fixed column predicate values that are not 0-terminated strings
  • More performance improvements
  • Reduced brittleness in Bad-RSML-Master-recover test
  • Client side performance improvements
  • Fixed bug in AsyncComm RequestCache::get_next_timeout
  • Added fast numeric formatters, replacing sprintf
  • Added PageArena dup overload for std::string
  • Share application queues among table objects
  • Cleaned up COUNTER handling code in CellCache
  • Use dictionary for strings in CellsBuilder
  • Reduced calls to strlen and cf spec lookups in Mutator
  • Fixed path problem in auto-generated hql_types.rb
  • Performance improvements in LocationCache and TableMutatorAsyncScatterBuffer
  • Don't create object map entry on weak reference in ThriftBroker
  • Changed strings returned by value to const reference
  • Fixe MapReduce connectors for rows with non-UTF8 characters

New in Hypertable 0.9.8.7 (Apr 3, 2015)

  • gh49: Eliminated execution order problem after OperationProcessor shutdown
  • Added non-blocking Hyperspace session close
  • Added Node.js binding
  • Fixed unhandled exception in NameIdMapper
  • Moved cronolog to sbin directory
  • Removed ht-backtrace.sh
  • Added detailed help to all scripts with --help option
  • issue 1283: Moved UPDATE_HYPERSPACE after ISSUE_REQUESTS in OperationDropTable
  • issue 956: Fixed SELECT ... LIMIT 1 returning empty result set
  • issue 1346: Eliminated double RangeServer recovery problem
  • Added support for /etc/ssh/config and ~/.ssh/config to ht_ssh
  • Fixed decoding problem with legacy OperationRecover* entities
  • gh37: Fixed asynchronous connection establishment problem in ht_ssh
  • gh38: Changed example cluster.def file to include core.tasks relatively

New in Hypertable 0.9.8.6 (Feb 28, 2015)

  • gh31: Fixed deadlock in Defects-issue783-offload1 test
  • Fixed MML and CommitLog backward compatibility problem
  • issue 1114: Made Hadoop broker respect Hypertable.Logging.Level property
  • issue 1345: Added RS startup option to wait for completion of Range initialization
  • Install missing header files from code reorganization
  • Added missing libboost_system-mt library on Mac (Yosemite)

New in Hypertable 0.9.8.5 (Feb 17, 2015)

  • Normalized script names to start with "ht-" and program names with "ht_"
  • Normalized names of client interface programs (fsbroker, master, rangeserver ...)
  • Changed ThriftBroker 'status' command to conform to Nagios plugin standard
  • Changed RangeServer 'status' command to conform to Nagios plugin standard
  • Changed Master 'status' command to conform to Nagios plugin standard
  • Added standard Nagios options to check scripts (e.g. --timeout & --hostname)
  • Added support for overall system status check ht-check.sh
  • Modified RangeServer::dump to include QueryCache
  • Added ht.rangeserver.queryCache.waiters Ganglia metric
  • Changed a few more classes to derive from Serializable
  • Merge pull request #19 from grewal/v0.9.8
  • Update the copyright year to 2015
  • Replaced intrusive_ptr with shared_ptr in AsyncComm
  • gh14: Removed spurious RangeServer log ERROR messages after schema change
  • Fixed MR connector output formats to support configurable ThriftBroker host/port
  • gh13: Fixed range movement problem surfaced with acknowledge_load timeout
  • Changed data structure encoding format to support forward compatibility
  • Added DISPLAY_REVISIONS option to SELECT statement
  • Reorganized and cleaned up FsBroker code
  • Set HDFS property dfs.client.read.shortcircuit.buffer.size to 128K if not set
  • issue 1318: Create Range hints file if none exists and no transfer log
  • Updated cmake/FindMaven.cmake to allow JDK > 1.6
  • issue 1255: Consolidate transfer log code and fixed double delete problem
  • Allow environment variable references in include: statement of cluster.def
  • Define PACKAGE_FILE in cluster.def using HYPERTABLE_VERSION variable
  • Enable slow query log by default
  • issue 1335: Improved ht_cluster --help text
  • issue 1333: Got rid of warning in TranslatorCode.cc
  • issue 1336: Fixed \$ escaping in ht_cluster task comments

New in Hypertable 0.9.8.4 (Nov 24, 2014)

  • CHANGES:
  • Cleaned up default hypertable.cfg file
  • Added packaging support for Yosemite and next few versions of OSX
  • Propagate table defaults from primary table to index tables
  • Fixed crash in load_generator with word stream
  • issue1332: Made ThriftBroker host/port configurable in MapReduce connectors
  • Added java HostSpecification class
  • issue1329: Fixed problem with compressor spec in old table Schema
  • 1328: Fixed variable expansion problem in cluster.def role definiton
  • issue 1330: Added tasks to core.tasks for starting/stopping Ganglia
  • issue 1328: Allow hyphen in hostnames in HostSpecification
  • Addded Error::INVALID_METHOD_IDENTIFIER
  • Modified CommandShell to exit with return status of last command
  • Fixed bug in kill task in conf/core.tasks

New in Hypertable 0.9.8.3 (Oct 29, 2014)

  • Changes:
  • Monitoring system - fixed JSONP rendering and YAML parsing for ruby >= 1.9
  • Unset LD_LIBRARY_PATH when launching rrdtool
  • Added CommandShell prefix completion and ~ expansion
  • Added support for CREATE/ALTER TABLE ... WITH
  • issue 1324: SlowQuery log crash if SlowQuery.log link already exists
  • Disable slow query log by default
  • issue 1325: Added missing call to ssh_init() in ht_ssh
  • Search for Openssl first in default install location
  • Eliminated deadlock in TableMutator::retry_flush()
  • Added property Hypertable.Metrics.Ganglia.Disable
  • Replaced mutex locks with atomic variables for frequently updated metrics
  • Fixed alloc-dealloc-mismatch problem discovered by AddressSanitizer
  • Fixed bug in cache hit rate metrics computation
  • Cleaned up merge scanners; Removed unnecessary virtual methods
  • Added cells/bytes Returned & ScanYield and requestBacklog metrics to RS
  • Fixed bytes/cells scanned metric computation
  • issue 1321: Fixed infinite loop problem in ht_ssh during connect
  • Fixed EOF hang problem in ht_ssh
  • Fixed read hang problem in ht_ssh
  • Fixed hang problem with ht_ssh

New in Hypertable 0.9.8.2 (Oct 9, 2014)

  • issue 1310: Added ctrl-c handling to ht_ssh
  • Added filename completion to CommandShell
  • Added CDH5 support
  • ht_cluster: added support for variable substitution in include: statements
  • issue 1313: Don't dump ssh log on non-zero command exit status
  • issue 1306: Fix HDFS broker to handle Ganglia port > 32767
  • issue 1299: Made MapReduce connector log to stderr instead of stdout
  • issue 1311: Prevent immediate maintenance scheduling for unsplittable ranges
  • Made prune_tsv test independent of prior test runs
  • Added ht_cluster task automation tool
  • Update FindLibssh.cmake
  • Changed Ganglia metric name prefix from "hypertable." to "ht."
  • Added Common/Base64
  • Added Common/Crypto

New in Hypertable 0.9.8.1 (Sep 15, 2014)

  • Fixed ganglia metrics bug causing last metric value to be reported indefinitely
  • Added slow query log
  • Renamed Common/metrics.h to Common/metrics to fix git filename case sensitivity issue on OSX
  • Fixed deadlocks in ht_ssh
  • issue 1264: Fixed TableSplit/RowInterval comparison in mapreduce InputFormat
  • Added support for IBM BigInsights 3
  • Set HDFS config dfs.datanode.socket.write.timeout to 630000
  • Added support for Ganglia metrics
  • Added thrift python package into installation
  • Fixed problem with REBUILD INDEXES skipping first key/value
  • Fixed large row METADATA scanning problem
  • Added ability to limit number of initialization tasks per maintenance interval
  • Added ht_ssh a mulit-host ssh automation tool
  • Fixed performance problems in MapReduce connector
  • issue 1266: Added symbolic links to hypertable and libthrift jars
  • issue 1264: Fixed bug in mapreduce/TableSplt that caused erroneous results
  • Maven'ized the Java build
  • issue 127: Fixed laptop suspend problem on OSX
  • issue 1027: Removed bad assert in ~IntervalScannerAsync
  • Use stable_sort to sort keys in client mutator buffer
  • Fixed some memory problems reported by Andy.
  • Make Perl thrift Exception classes derive from Error
  • Fixed bug causing GC compactions to get skipped for inactive ranges
  • Pass LOAD_ALL_ENTITIES flag to MetaLog::Reader if required

New in Hypertable 0.9.8.0 (Jun 24, 2014)

  • Improved secondary index query support
  • Added Cluster ID to commit log block header
  • issue 1146: Change default Hypertable port numbers to be non-ephemeral
  • issue 1080: Do localtime conversion for all datetime values passed through API
  • Changed default Hadoop distro to cdh4
  • Renamed DFS Broker to FS Broker
  • Added REBUILD INDICES command
  • Upgraded Thrift to > 0.9.1 (commit 816790b)
  • issue 1219: Modified query cache to invalidate on row+column
  • Cleaned up Schema code and HQL/Thrift schema create & modify commands
  • Added methods to support printing ThriftGen::Key and ThriftGen::Cell ruby classes
  • Fixed some issues discovered when building PHP API example program
  • Got RangeServer::heapcheck() to dump heap stats with tcmalloc_minimal
  • Fixed some issues discovered when building java API example program
  • Fixed some issues discovered when building python API example program
  • issue 1256: Call TableMutator::flush() explicitly in ThriftBroker; swallow exceptions in ~TableMutator
  • Fixed bugs discovered when building API example programs
  • Fixed schema object initialization problems
  • add HypertableStorage for Pig
  • Updated ThriftBroker port number in bin/start-test-client.sh
  • Fixed bug in LoadDataSource with empty trailing fields
  • Fixed output stream operator for Key in ThriftHelper
  • Cleaned up sub operation handling in Master
  • issue 1222: Fixed earliest cached revision problem in AccessGroup
  • Fixed bugs in analyze-missing-keys.sh in rangeserver-failover-basic tests
  • Allow COUNTER & MAX_VERSIONS if supplied MAX_VERSIONS value is 0
  • Catch and log exceptions when destroying unclosed objects in ThriftBroker
  • Check for NULL timeout supplied to TableMutatorAsync
  • Added test for ROW intervals plus index lookup
  • Got rid of build warnings (java & cpp)
  • Updated lzo code to latest version
  • issue 1206: Shell exceptions should report stack information only in verbose mode
  • issue 1235: Prevent users from removing /tmp and /sys namespaces
  • issue 1229: Fixed bad basename command in ht version
  • Fixed create namespace problem when intermediate component is a table
  • Properly handle case where target of table rename is a namespace
  • Added ability to add/drop inidices after table creation
  • Updated load_generator to reflect recent secondary index changes
  • Share index update code between client lib and RangeServer
  • issue 1188: Fixed race condition between Cluster ID generate and read
  • Improved Master operation remove approval handling
  • Removed source_machine variable and localhost role from Capfiles
  • Got rid of unused merge_diff tool

New in Hypertable 0.9.7.19 (Jun 16, 2014)

  • Added HypertableStorage for Pig
  • Fixed bug in LoadDataSource with empty trailing fields
  • issue 1222: Fixed earliest cached revision problem in AccessGroup
  • Check for NULL timeout supplied to TableMutatorAsync
  • issue 1256: Call TableMutator::flush() explicitly in ThriftBroker; swallow exceptions in ~TableMutator

New in Hypertable 0.9.7.18 (May 15, 2014)

  • issue 1242: Fixed state init problem in AccessGroupGarbageTracker
  • issue 1237: Fix stack corruption bug in dump table logic
  • issue 1227: Fixed readhead problem in IntervalScannerAsync client lib class
  • issue 1226: Fixed race condition in LocalBroker::readdir()
  • Fixed future/scanner/mutator close order problem causing ThriftBroker crash
  • Added better error state capture to rangeserver-failover-basic tests
  • Removed bad assert in AccessGroupGarbageTracker

New in Hypertable 0.9.7.17 (Mar 27, 2014)

  • Set SO_KEEPALIVE on TCP sockets
  • issue 1202: If target of RENAME TABLE exists, terminate operation with error
  • Throw exception on invalid key timestamp (TIMESTAMP_NULL) in TableMutatorAsync
  • Upgraded to CDH4.6
  • issue 1193: Fixed bug in RangeServer::log_replay()
  • Added package_gcc.bash to src-utils
  • Fixed alloc/dealloc mismatch in Hypertable-shell-ldi-select test
  • Fixed QFS broker
  • Reverted back to single cell cache in access group
  • Cleaned up access group garbage tracking logic
  • Fixed potential loss of transfer log during failover
  • Fixed missing dependency problem

New in Hypertable 0.9.7.16 (Feb 17, 2014)

  • Upgraded to C++11 compiler
  • issue 1179: Fixed insert perf problem introduced by bad commit in 0.9.7.13
  • issue 1193: Fixed split_row/end_row comparison in Range::estimate_split_row()
  • Fixed memory leak in index table mutator
  • Avoid aggressive merging during low memory mode
  • Fixed BalancePlanAuthority::change_receiver_plan_location() to properly increment generation
  • issue 1191: Fixed DEB and RPM package installation
  • Fixed alloc-dealloc-mismatch error in hypertable_ldi_select_test
  • Fixed HQL-delete test
  • Fixed Spirit parser issues
  • issue 1104: Fixed intermittent failure of issue190 test
  • issue 1123: fixed ldd.sh script
  • Got rid of INFO log message in OperationRecover::decode_state()
  • issue 1193: Replaced assert with instrumentation logging
  • issue 1189: Propagate exceptions from ~TableMutator()
  • Modified issue890 test to compile java file into build directory
  • Modified Filesystem::readdir to return vector of Dirent structures
  • Reverted "merging compactions ahead of minor compactions" commit
  • Allow arbitrary column selection for secondary index queries
  • issue 1032: Fixed COUNTER columns "wrap around" on underflow problem
  • Added NO_CACHE option to SELECT statement

New in Hypertable 0.9.7.15 (Jan 11, 2014)

  • Fixed QFS Broker
  • issue1159: Fixed CellStoreBlockIndexArray::fraction_covered() bug
  • Made merging compaction algo more aggressive during low activity period
  • Added commons-lang-2.5.jar to fix missing symbol under CDH4.5
  • Added TimeWindow class for defining low activty window
  • Prioritize merging compactions ahead of minor compactions
  • Moved sys/RS_METRICS reading code to Hypertable/Lib/RS_METRICS
  • Fixed memory alignment issues with DfsBroker.Local.DirectIO=true
  • Fixed quote trimming problem in HqlParser
  • issue 1180: Fixed intermittent Client-periodic-flush failure
  • issue1063: Made Defects-issue783-offload1 test more robust
  • Throw exceptions in SerializedCellsReader/Writer on empty row key
  • issue1175: Fixed bug when supplying LIMIT with ROW interval

New in Hypertable 0.9.7.14 (Dec 7, 2013)

  • Fixed buffer overflow in RangeServer when returning large counter values
  • Fixed bug in ThriftBroker shared mutator key that prevented sharing
  • Use random start time for periodic flushing of shared mutators
  • Upgraded to CDH4 version 4.4.0
  • Added Hypertable.RangeServer.CellStore.SkipBad property
  • issue 1171: Fixed RangeServer::get_statistics() request pile-up
  • Fixed QueryCache insert race condition
  • Added state logging for issue 1159
  • issue 1138: Fixed DELETE bug on specific cell version w/o qualifier

New in Hypertable 0.9.7.13 (Oct 31, 2013)

  • Fixed crash in ThriftBroker when passing in bad object ID
  • Fixed monitoring UI table detail graph rendering for nested namespaces
  • Fixed bug in FileBlockCache key computation for offsets >= 2^32
  • Fix Hyperspace reconnect if machine suspended; Only perform Master timer ops if Hyperspace session state is SAFE
  • Added do_not_cache member to ScanSpec
  • Fixed AccessGroupGarbageTracker to avoid repeated unnecessary garbage checks
  • Added java counter test
  • issue 1160: Throw exception on bad counter column option combinations in schema parse
  • issue 1161: Fixed bug in Java SerializedCellWriter.add_delete()
  • Cleaned up FragmentData class and added doxygen comments
  • issue 1156: When performing GC compaction, measure actual garbage before proceeding
  • issue 1155: Throw exception during CREATE TABLE on bad column option combinations
  • Fixed potential object ID collision in ThriftBroker
  • Added Hypertable.RangeServer.Range.IgnoreCellsWithClockSkew property
  • Lazily initialize group commit
  • issue 1154: Fixed HQL help text for ALTER TABLE MODIFY

New in Hypertable 0.9.7.12 (Oct 7, 2013)

  • issue 1151: Fixed phantom range log problem causing commit log from getting reaped
  • Fixed scanner leak in ThriftBroker::get_cells* methods
  • Fixed recently intro'd bug in ThriftBroker when opening namespace multiple times
  • issue 1124: Fixed bug in counter logic causing resets to become increments
  • Added compaction TYPE option to COMPACT HQL command
  • issue 845: Added ability to change MAX_VERSIONS and TTL with ALTER TABLE
  • issue 1152: Eliminated consistency problems on exception during compaction
  • Improved maintenance scheduler debug trace
  • Fix to recent ThriftBroker change to allow connection pooling
  • Increment parent reference count only if fragment is added in CommitLogReader
  • Create phantom log in directory _xfer
  • Fixed a problem with dumplog --linked-logs
  • Got rid of log message in OperationRecover constructor
  • issue 1150: fixed bad Hyperspace attr_set assert
  • Hyperspace cleanup and doxygen comments
  • issue 1149: Got rid of lock contention in AccessGroup::include_in_scan()

New in Hypertable 0.9.7.11 (Sep 25, 2013)

  • Fixed object leak in ThriftBroker
  • Close hints file after read (file descriptor leak)
  • Added missing SystemState entity construction in MetaLogDefinitionMaster
  • Fixed server registration/recover race condition in Master
  • issues 1069 & 1143: Fixed load_range() timeout bug and drop table races
  • Retry with verify_checksum if trailer is bad in CellStoreFactory
  • issue 1107: Fixed Future::get() API timeout bug
  • Fixed Master bug not passing BalancePlanAuthority to MetaLog::Writer constructor
  • issue 1147: Fixed consistency problem in relinqish on move_range() exception
  • Removed bogus assert in recovery callbacks; Fixed sigstop failover test
  • Fixed Hyperspace lost notification bug
  • Reorganized Hyperspace source directory layout
  • Fixed hyperspace reconnect issues
  • issue 1144: Fixed erroneous skipping of transfer log removal
  • Added comments to and cleaned up OperationCompact
  • Send notification on new server registration or clock skew error
  • In Master recovery callbacks, discover proxy via RSC manager if NULL in event
  • Added version number to Operation entity plus doxygen comments
  • issue 1083: Removed leading '/' in table name in monitoring UI after rename
  • issue 1085: Added --nodeps to rpm install in Capfile
  • issue 1135: Fixed problem with monitoring shutdown on certain thin versions
  • Increased MetaLog historical archive from 10 to 30
  • issue 1134: Fixed assert in RangeServer::phantom_prepare_ranges() on big recovery
  • Fixed problem of OperationRecover entities spamming the MML
  • Added support for .tar.gz package installation in Capfile
  • Added hostname to RangeServerConnection display string
  • issue 1133: Added HQL help text for .tsv DELETE support

New in Hypertable 0.9.7.10 (Aug 29, 2013)

  • Better support for Hadoop 2 (CDH4)
  • Fixed bug in Master Version rendering in monitoring UI
  • Fixed problem with hints file reading
  • issue1034: Hadoop 2 - Recover file lease and retry if open throws IOException
  • Added Hypertable.Cluster.Name property
  • issue 1126: Better handling of bad RSML
  • Fixed ambiguity in .tsv DELETE specification
  • issue 1128: Fixed RangeServer create scanner crash on bad cell_interval spec
  • Minor fix to LocalBroker::posix_readdir
  • Removed spurious notification message
  • issue1125: Fixed AccessGroup-garbage-tracker test

New in Hypertable 0.9.7.9 (Aug 29, 2013)

  • QFS Broker
  • Improved disk usage monitoring and handling
  • Added system state with READONLY variable and HQL SET command
  • Changed Hypertable.RangeServer.Range.SplitSize default to 512MB
  • Fixed bug in delete processing in MergeScannerAccessGroup
  • Fixed CELL_LIMIT processing
  • Fixed level calculation in MaintenanceQueue
  • Reduced calls to Range::get_maintenance_data() in get_statistics()
  • Added version, start_row, and end_row to hints file
  • Moved tranfer log to corresponding /tables/ directory
  • Fixed race condition in creation of RemoveOkLogs entity
  • Changed "dropping task" log message from WARN to INFO
  • Fixed race condition in RangeServer-failover-restart test
  • Better error state capture for group commit and rs failover basic tests
  • Replaced RSStats with LoadStatistics class
  • Added server disk usage statistics to RS_METRICS
  • Fix tests
  • Added PosixReaddir to DfsBroker interface

New in Hypertable 0.9.7.8 (Aug 29, 2013)

  • Skip recovery of ranges from deleted tables; Other failover fixes
  • issue 1088: Fixed connection purging issue in ConnectionManager
  • issue 1091: Skip RSML entries if schema for table not found
  • issue1094: Fixed race condition in Global::remove_ok_logs initialization
  • Can build on more systems
  • Fixed malformed path in dumplog --block-summary output
  • issue1093: Hypertable shell now opens '/' namespace by default
  • issue1082: Changed shell --timestamp-format option from usecs to nanoseconds
  • Added missing header files in installation
  • Got rid of unnecessary clearing of IOHandler proxy
  • Added support for alternate field separator in .tsv format
  • Added TableSchema.xsd
  • Fix a typo: determinte -> determine
  • Capture error state in master-failover tests

New in Hypertable 0.9.7.7 (Aug 29, 2013)

  • Automatically upgrade table generation during range recovery
  • Added missing MML decoding of OperationCompact entity
  • Don't decomission handler after propagate_proxy_map() failure
  • Added id() accessor method to MetaLog::Entity class
  • Batch entity writes in MetaLog::Writer constructor

New in Hypertable 0.9.7.6 (Aug 29, 2013)

  • Fixed stuck CommitLog purge problem
  • Added COMPACT command
  • Added NO_TIMESTAMPS option to DUMP TABLE command
  • Added hints file to range directory to bootstrap AccessGroup state
  • Removed deadlock in Range::create_scanner introduced w/ deferred init commit
  • Fixed source server state tracking for consistent MasterClient::move_range calls
  • Added "current" set to BalancePlanAuthority serialization
  • Fixed MetaLog writer encoded_length/encode race condition
  • issue 1068: Fixed race condition in creating IOHandlerData
  • Fixed multiple BalancePlanAuthority creation problem
  • Fixed bad string create in TTL parsing
  • Fixed bug in metalog_dump that prevented it from working on HDFS
  • Remove connection from ConnectionManager unconditionally on invalid proxy
  • Added methods to BalancePlanAuthority for metalog_tool + doxygen comments
  • Fixed "Created DB handles" logging output in Hyperspace
  • Added test - ROOT RangeServer failure with cluster restart
  • Only set urgent bit on phantom_update if for metadata

New in Hypertable 0.9.7.5 (May 27, 2013)

  • Fixed split row estimation bug (CRITICAL)
  • Fixed problem with RPM package
  • issue 934: Defer CellStore loading (eliminate METADATA table access on startup)
  • Reset state to INITIAL in OperationRecoverRanges on PHANTOM_RANGE_MAP_NOT_FOUND
  • Allow mid-recovery servers to be added back into pool of RangeServers
  • Added memory tracking to recovery
  • Allow MasterClient to be constructed before Master is live
  • Fixed RelinquishAcknowledge early expiration bug
  • Fixed uninitialized m_recovering member of RangeServerConnection
  • Remove pending recover operation for re-connected server
  • Fixed master shutdown
  • Changed LoadMetadataOnly property to LoadSystemTablesOnly
  • Added support for Hypertable.Failover.RecoverInSeries
  • Fixed a delete issue caught by AddressSanitizer
  • More doxygen comments
  • ScanSpec column predicate validation fix
  • Removed ReferenceCount base class of IOHandler
  • Change name() of OperationRecover to match class name
  • Changed ERROR message to WARN
  • Fixed llvm build for Mac OSX

New in Hypertable 0.9.7.4 (Apr 25, 2013)

  • Added periodic reporting during failover replay fragments to prevent timeouts
  • Fixed AsyncComm proxy map propagation / connect() order problem
  • Capfile changes to facilitate starting/stopping ThriftBrokers independently
  • Increased failover timeout to 5 minutes and MaxAppQueuePause to 2 minutes
  • Fixed memory errors caught by llvm AddressSanitizer
  • Added support for llvm compiler; Fixed warnings reported by llvm
  • Doxygen comments
  • Removed unnecessary files
  • Added doxygen comments to src/cc/Common
  • Fixed %preun specification in RPM packaging
  • Added --shared-mutator-flush-interval to load_generator
  • Eliminated compiler warnings
  • Fixed integration test METADATA-split-recovery-11
  • issue 1038: Stop connect retry attempts to recovered server (part 2)
  • Removed unused files
  • issue 1052: removed dependency to log4cpp

New in Hypertable 0.9.7.3 (Apr 9, 2013)

  • Fixed bug in MaintenanceScheduler preventing merging compactions
  • Turn off low memory mode in TimerHandler when no longer low on memory
  • Fixed merge run calculation logic
  • Fixed epoll initialization error on Ubuntu 12.10
  • Improved maintenance scheduler debug output
  • Added doxygen comments to src/cc/Common
  • Fixed small bug in PHP microblog sample

New in Hypertable 0.9.7.2 (Apr 5, 2013)

  • Fixed bug in maintenance queue causing worker thread count to drop to 1 over time
  • Fixed CellStore concurrency and divide-by-zero problems
  • issue 1038: Stop connect retry attempts to recovered server
  • Added support for .cellstore.index pseudo-table
  • Schedule log cleanup compactions ahead of merging compactions
  • Rotate starting point in maintenance scheduler to avoid compaction starvation
  • Removed absolute path in jrun script
  • Implemented pure virtual function for older CellStore format
  • issue 991: added refresh_table to the Thrift interface
  • issue 999: needs_compaction bit not getting cleared
  • htpkg - don't build thriftbroker-only packages by default
  • Maintenance scheduler overhaul; Pause app queue if prune threshold exceeded by 20%
  • Improved CommitLog purge break log message
  • Only wait for system range recovery in RangeServer::phantom_ methods
  • Got rid of exception output for INFO messages (HT_INFO_OUT)
  • Removed dependency to log4cpp
  • Added doxygen comments to src/cc/Common
  • Added Hypertable.RangeServer.Maintenance.LowMemoryPrioritization property
  • Finished adding doxygen comments to AsyncComm
  • Fixed balance plan server assignment problem
  • Fixed hang problem in ~TableScanner on scanner errors
  • Fixed handling of missing transfer log directory in PhantomRange
  • Fixed problem with explicitly supplied timestamps and TIME_ORDER DESC
  • Changed "tar -xjv" to "tar xjv" in Capfiles
  • Checked in auto-generated code from recent Thrift changes
  • Added two-serial-failover test
  • Re-enable load balancer
  • Got rid of deadlock in AsyncComm

New in Hypertable 0.9.7.1 (Apr 5, 2013)

  • Prevent erroneous RangeServer recovery on startup
  • Fixed rounding problem in quorum calculation
  • Fixed bug in CELL_LIMIT handling
  • LoadBalancer no longer assignes ranges to non-existing servers
  • Modified upgrade.sh to copy notification-hook.tmpl
  • Got rid of doxygen warnings and added more comments

New in Hypertable 0.9.7.0 (Apr 5, 2013)

  • RangeServer failover
  • Added ability to switch Hadoop distros (cdh3 or cdh4)
  • issue 958: shell now accepts unicode characters
  • Fixed Namespace::open_table race condition
  • issue1017: Fixed assert in CS bloom filter creation with small # of keys
  • Fixed argument parsing in WikipediaWordCount.java mapreduce program
  • Improved split row estimation logic
  • Fixed tests by removing .pid files after kill
  • issue976: fixed rows+cols bloom filter access with qualifier regex
  • Added update_without_index
  • Hypertable Shell test no longer fails if it is restarted
  • issue 986: catching mapr-specific error code
  • issue 974: Thrift clients now verify that ScanSpec is valid
  • issue 947: check_integrity no longer fails if a table is empty
  • issue 989: do not allow creating indices with COUNTER columns
  • issue 972: changed ERROR message to INFO
  • issue 970: fixed potential segmentation fault in CommandShell
  • Fixed a compiler warning in release mode
  • issue 963: fixed thrift framesize property mismatch
  • issue 961: fixed SHOW CREATE TABLE with group_commit_interval
  • Fixed compiler errors on g++ 4.7.2
  • Added Hypertable.RangeServer.Range.RowSize.Unlimited

New in Hypertable 0.9.6.5 (Oct 23, 2012)

  • issue957: Fixed group commit assert
  • issue 942: Fixed metadata-split tests on 32-bit
  • Fixed problem of purging RangeServerConnection entries on startup

New in Hypertable 0.9.6.4 (Sep 20, 2012)

  • Fixed bug in memory reporting introduced with TinyBuffer allocator
  • Ensure single RangeServerConnection entity in MML for each connection
  • Eliminated conflict with VERSION identifier in SerializedCells*
  • issue 923: Fixed RangeServer master initialization error reporting
  • Fixed timestamp_max calculation in CellStoreV6
  • issue 938: fixed propagation of row overflow error
  • Eliminated warnings