hbase/CHANGES.txt

880 lines
50 KiB
Plaintext

Hbase Change Log
Trunk (unreleased changes)
INCOMPATIBLE CHANGES
HBASE-584 Names in the filter interface are confusing (Clint Morgan via
Jim Kellerman) (API change for filters)
HBASE-601 Just remove deprecated methods in HTable; 0.2 is not backward
compatible anyways
HBASE-82 Row keys should be array of bytes
HBASE-76 Purge servers of Text (Done as part of HBASE-82 commit).
HBASE-487 Replace hql w/ a hbase-friendly jirb or jython shell
Part 1: purge of hql and added raw jirb in its place.
HBASE-521 Improve client scanner interface
HBASE-288 Add in-memory caching of data. Required update of hadoop to
0.17.0-dev.2008-02-07_12-01-58. (Tom White via Stack)
BUG FIXES
HBASE-574 HBase does not load hadoop native libs (Rong-En Fan via Stack)
HBASE-598 Loggging, no .log file; all goes into .out
HBASE-622 Remove StaticTestEnvironment and put a log4j.properties in src/test
HBASE-624 Master will shut down if number of active region servers is zero
even if shutdown was not requested
HBASE-629 Split reports incorrect elapsed time
HBASE-623 Migration script for hbase-82
HBASE-630 Default hbase.rootdir is garbage
HBASE-589 Remove references to deprecated methods in Hadoop once
hadoop-0.17.0 is released
HBASE-638 Purge \r from src
HBASE-644 DroppedSnapshotException but RegionServer doesn't restart
HBASE-641 Improve master split logging
HBASE-642 Splitting log in a hostile environment -- bad hdfs -- we drop
write-ahead-log edits
HBASE-646 EOFException opening HStoreFile info file (spin on HBASE-645and 550)
HBASE-648 If mapfile index is empty, run repair
HBASE-640 TestMigrate failing on hudson
HBASE-651 Table.commit should throw NoSuchColumnFamilyException if column
family doesn't exist
HBASE-649 API polluted with default and protected access data members and methods
HBASE-650 Add String versions of get, scanner, put in HTable
HBASE-656 Do not retry exceptions such as unknown scanner or illegal argument
HBASE-659 HLog#cacheFlushLock not cleared; hangs a region
HBASE-663 Incorrect sequence number for cache flush
HBASE-655 Need programmatic way to add column family: need programmatic way
to enable/disable table
HBASE-654 API HTable.getMetadata().addFamily shouldn't be exposed to user
HBASE-666 UnmodifyableHRegionInfo gives the wrong encoded name
HBASE-668 HBASE-533 broke build
HBASE-670 Historian deadlocks if regionserver is at global memory boundary
and is hosting .META.
HBASE-665 Server side scanner doesn't honor stop row
HBASE-662 UI in table.jsp gives META locations, not the table's regions
location (Jean-Daniel Cryans via Stack)
HBASE-676 Bytes.getInt returns a long (Clint Morgan via Stack)
HBASE-680 Config parameter hbase.io.index.interval should be
hbase.index.interval, according to HBaseMapFile.HbaseWriter
(LN via Stack)
HBASE-682 Unnecessary iteration in HMemcache.internalGet? got much better
reading performance after break it (LN via Stack)
HBASE-686 MemcacheScanner didn't return the first row(if it exists),
because HScannerInterface's output incorrect (LN via Jim Kellerman)
HBASE-691 get* and getScanner are different in how they treat column parameter
HBASE-694 HStore.rowAtOrBeforeFromMapFile() fails to locate the row if # of mapfiles >= 2
(Rong-En Fan via Bryan)
HBASE-652 dropping table fails silently if table isn't disabled
HBASE-683 can not get svn revision # at build time if locale is not english
(Rong-En Fan via Stack)
HBASE-699 Fix TestMigrate up on Hudson
HBASE-615 Region balancer oscillates during cluster startup
HBASE-613 Timestamp-anchored scanning fails to find all records
HBASE-681 NPE in Memcache
HBASE-701 Showing bytes in log when should be String
HBASE-702 deleteall doesn't
HBASE-704 update new shell docs and commands on help menu
HBASE-709 Deadlock while rolling WAL-log while finishing flush
HBASE-710 If clocks are way off, then we can have daughter split come
before rather than after its parent in .META.
HBASE-714 Showing bytes in log when should be string (2)
HBASE-627 Disable table doesn't work reliably
HBASE-716 TestGet2.testGetClosestBefore fails with hadoop-0.17.1
HBASE-715 Base HBase 0.2 on Hadoop 0.17.1
HBASE-718 hbase shell help info
HBASE-717 alter table broke with new shell returns InvalidColumnNameException
HBASE-573 HBase does not read hadoop-*.xml for dfs configuration after
moving out hadoop/contrib
HBASE-11 Unexpected exits corrupt DFS
HBASE-12 When hbase regionserver restarts, it says "impossible state for
createLease()"
HBASE-575 master dies with stack overflow error if rootdir isn't qualified
HBASE-582 HBase 554 forgot to clear results on each iteration caused by a filter
(Clint Morgan via Stack)
HBASE-532 Odd interaction between HRegion.get, HRegion.deleteAll and compactions
HBASE-10 HRegionServer hangs upon exit due to DFSClient Exception
HBASE-595 RowFilterInterface.rowProcessed() is called *before* fhe final
filtering decision is made (Clint Morgan via Stack)
HBASE-586 HRegion runs HStore memcache snapshotting -- fix it so only HStore
knows about workings of memcache
HBASE-588 Still a 'hole' in scanners, even after HBASE-532
HBASE-604 Don't allow CLASSPATH from environment pollute the hbase CLASSPATH
HBASE-608 HRegionServer::getThisIP() checks hadoop config var for dns interface name
(Jim R. Wilson via Stack)
HBASE-609 Master doesn't see regionserver edits because of clock skew
HBASE-607 MultiRegionTable.makeMultiRegionTable is not deterministic enough
for regression tests
HBASE-405 TIF and TOF use log4j directly rather than apache commons-logging
HBASE-618 We always compact if 2 files, regardless of the compaction threshold setting
HBASE-619 Fix 'logs' link in UI
HBASE-478 offlining of table does not run reliably
HBASE-453 undeclared throwable exception from HTable.get
HBASE-620 testmergetool failing in branch and trunk since hbase-618 went in
HBASE-550 EOF trying to read reconstruction log stops region deployment
HBASE-551 Master stuck splitting server logs in shutdown loop; on each
iteration, edits are aggregated up into the millions
HBASE-505 Region assignments should never time out so long as the region
server reports that it is processing the open request
HBASE-561 HBase package does not include LICENSE.txt nor build.xml
HBASE-563 TestRowFilterAfterWrite erroneously sets master address to
0.0.0.0:60100 rather than relying on conf
HBASE-507 Use Callable pattern to sleep between retries
HBASE-564 Don't do a cache flush if there are zero entries in the cache.
HBASE-554 filters generate StackOverflowException
HBASE-567 Reused BatchUpdate instances accumulate BatchOperations
HBASE-577 NPE getting scanner
HBASE-19 CountingBloomFilter can overflow its storage
(Stu Hood and Bryan Duxbury via Stack)
HBASE-28 thrift put/mutateRow methods need to throw IllegalArgument
exceptions (Dave Simpson via Bryan Duxbury via Stack)
HBASE-2 hlog numbers should wrap around when they reach 999
(Bryan Duxbury via Stack)
HBASE-421 TestRegionServerExit broken
HBASE-426 hbase can't find remote filesystem
HBASE-437 Clear Command should use system.out (Edward Yoon via Stack)
HBASE-434, HBASE-435 TestTableIndex and TestTableMapReduce failed in Hudson builds
HBASE-446 Fully qualified hbase.rootdir doesn't work
HBASE-438 XMLOutputter state should be initialized. (Edward Yoon via Stack)
HBASE-8 Delete table does not remove the table directory in the FS
HBASE-428 Under continuous upload of rows, WrongRegionExceptions are thrown
that reach the client even after retries
HBASE-460 TestMigrate broken when HBase moved to subproject
HBASE-462 Update migration tool
HBASE-473 When a table is deleted, master sends multiple close messages to
the region server
HBASE-490 Doubly-assigned .META.; master uses one and clients another
HBASE-492 hbase TRUNK does not build against hadoop TRUNK
HBASE-496 impossible state for createLease writes 400k lines in about 15mins
HBASE-472 Passing on edits, we dump all to log
HBASE-495 No server address listed in .META.
HBASE-433 HBASE-251 Region server should delete restore log after successful
restore, Stuck replaying the edits of crashed machine.
HBASE-27 hregioninfo cell empty in meta table
HBASE-501 Empty region server address in info:server entry and a
startcode of -1 in .META.
HBASE-516 HStoreFile.finalKey does not update the final key if it is not
the top region of a split region
HBASE-525 HTable.getRow(Text) does not work (Clint Morgan via Bryan Duxbury)
HBASE-524 Problems with getFull
HBASE-528 table 'does not exist' when it does
HBASE-531 Merge tool won't merge two overlapping regions (port HBASE-483 to
trunk)
HBASE-537 Wait for hdfs to exit safe mode
HBASE-476 RegexpRowFilter behaves incorectly when there are multiple store
files (Clint Morgan via Jim Kellerman)
HBASE-527 RegexpRowFilter does not work when there are columns from
multiple families (Clint Morgan via Jim Kellerman)
HBASE-534 Double-assignment at SPLIT-time
HBASE-712 midKey found compacting is the first, not necessarily the optimal
HBASE-719 Find out why users have network problems in HBase and not in Hadoop
and HConnectionManager (Jean-Daniel Cryans via Stack)
HBASE-703 Invalid regions listed by regionserver.jsp (Izaak Rubin via Stack)
HBASE-674 Memcache size unreliable
IMPROVEMENTS
HBASE-559 MR example job to count table rows
HBASE-596 DemoClient.py (Ivan Begtin via Stack)
HBASE-581 Allow adding filters to TableInputFormat (At same time, ensure TIF
is subclassable) (David Alves via Stack)
HBASE-603 When an exception bubbles out of getRegionServerWithRetries, wrap
the exception with a RetriesExhaustedException
HBASE-600 Filters have excessive DEBUG logging
HBASE-611 regionserver should do basic health check before reporting
alls-well to the master
HBASE-614 Retiring regions is not used; exploit or remove
HBASE-538 Improve exceptions that come out on client-side
HBASE-569 DemoClient.php (Jim R. Wilson via Stack)
HBASE-522 Where new Text(string) might be used in client side method calls,
add an overload that takes String (Done as part of HBASE-82)
HBASE-570 Remove HQL unit test (Done as part of HBASE-82 commit).
HBASE-626 Use Visitor pattern in MetaRegion to reduce code clones in HTable
and HConnectionManager (Jean-Daniel Cryans via Stack)
HBASE-621 Make MAX_VERSIONS work like TTL: In scans and gets, check
MAX_VERSIONs setting and return that many only rather than wait on
compaction (Jean-Daniel Cryans via Stack)
HBASE-504 Allow HMsg's carry a payload: e.g. exception that happened over
on the remote side.
HBASE-583 RangeRowFilter/ColumnValueFilter to allow choice of rows based on
a (lexicographic) comparison to column's values
(Clint Morgan via Stack)
HBASE-579 Add hadoop 0.17.x
HBASE-660 [Migration] addColumn/deleteColumn functionality in MetaUtils
HBASE-632 HTable.getMetadata is very inefficient
HBASE-671 New UI page displaying all regions in a table should be sorted
HBASE-672 Sort regions in the regionserver UI
HBASE-677 Make HTable, HRegion, HRegionServer, HStore, and HColumnDescriptor
subclassable (Clint Morgan via Stack)
HBASE-682 Regularize toString
HBASE-672 Sort regions in the regionserver UI
HBASE-469 Streamline HStore startup and compactions
HBASE-544 Purge startUpdate from internal code and test cases
HBASE-557 HTable.getRow() should receive RowResult objects
HBASE-452 "region offline" should throw IOException, not IllegalStateException
HBASE-541 Update hadoop jars.
HBASE-523 package-level javadoc should have example client
HBASE-415 Rewrite leases to use DelayedBlockingQueue instead of polling
HBASE-35 Make BatchUpdate public in the API
HBASE-409 Add build path to svn:ignore list (Edward Yoon via Stack)
HBASE-408 Add .classpath and .project to svn:ignore list
(Edward Yoon via Stack)
HBASE-410 Speed up the test suite (make test timeout 5 instead of 15 mins).
HBASE-281 Shell should allow deletions in .META. and -ROOT- tables
(Edward Yoon & Bryan Duxbury via Stack)
HBASE-56 Unnecessary HQLClient Object creation in a shell loop
(Edward Yoon via Stack)
HBASE-3 rest server: configure number of threads for jetty
(Bryan Duxbury via Stack)
HBASE-416 Add apache-style logging to REST server and add setting log
level, etc.
HBASE-406 Remove HTable and HConnection close methods
(Bryan Duxbury via Stack)
HBASE-418 Move HMaster and related classes into master package
(Bryan Duxbury via Stack)
HBASE-410 Speed up the test suite - Apparently test timeout was too
aggressive for Hudson. TestLogRolling timed out even though it
was operating properly. Change test timeout to 10 minutes.
HBASE-436 website: http://hadoop.apache.org/hbase
HBASE-417 Factor TableOperation and subclasses into separate files from
HMaster (Bryan Duxbury via Stack)
HBASE-440 Add optional log roll interval so that log files are garbage
collected
HBASE-407 Keep HRegionLocation information in LRU structure
HBASE-444 hbase is very slow at determining table is not present
HBASE-438 XMLOutputter state should be initialized.
HBASE-414 Move client classes into client package
HBASE-79 When HBase needs to be migrated, it should display a message on
stdout, not just in the logs
HBASE-461 Simplify leases.
HBASE-419 Move RegionServer and related classes into regionserver package
HBASE-457 Factor Master into Master, RegionManager, and ServerManager
HBASE-464 HBASE-419 introduced javadoc errors
HBASE-468 Move HStoreKey back to o.a.h.h
HBASE-442 Move internal classes out of HRegionServer
HBASE-466 Move HMasterInterface, HRegionInterface, and
HMasterRegionInterface into o.a.h.h.ipc
HBASE-479 Speed up TestLogRolling
HBASE-480 Tool to manually merge two regions
HBASE-477 Add support for an HBASE_CLASSPATH
HBASE-443 Move internal classes out of HStore
HBASE-515 At least double default timeouts between regionserver and master
HBASE-529 RegionServer needs to recover if datanode goes down
HBASE-456 Clearly state which ports need to be opened in order to run HBase
HBASE-536 Remove MiniDFS startup from MiniHBaseCluster
HBASE-521 Improve client scanner interface
HBASE-562 Move Exceptions to subpackages (Jean-Daniel Cryans via Stack)
NEW FEATURES
HBASE-47 Option to set TTL for columns in hbase
(Andrew Purtell via Bryan Duxbury and Stack)
HBASE-23 UI listing regions should be sorted by address and show additional
region state (Jean-Daniel Cryans via Stack)
HBASE-639 Add HBaseAdmin.getTableDescriptor function
HBASE-533 Region Historian
HBASE-487 Replace hql w/ a hbase-friendly jirb or jython shell
HBASE-548 Tool to online single region
HBASE-71 Master should rebalance region assignments periodically
HBASE-512 Add configuration for global aggregate memcache size
HBASE-40 Add a method of getting multiple (but not all) cells for a row
at once
HBASE-506 When an exception has to escape ServerCallable due to exhausted
retries, show all the exceptions that lead to this situation
OPTIMIZATIONS
HBASE-430 Performance: Scanners and getRow return maps with duplicate data
Release 0.1.3 - 07/25/2008
BUG FIXES
HBASE-644 DroppedSnapshotException but RegionServer doesn't restart
HBASE-645 EOFException opening region (HBASE-550 redux)
HBASE-641 Improve master split logging
HBASE-642 Splitting log in a hostile environment -- bad hdfs -- we drop
write-ahead-log edits
HBASE-646 EOFException opening HStoreFile info file (spin on HBASE-645 and 550)
HBASE-648 If mapfile index is empty, run repair
HBASE-659 HLog#cacheFlushLock not cleared; hangs a region
HBASE-663 Incorrect sequence number for cache flush
HBASE-652 Dropping table fails silently if table isn't disabled
HBASE-674 Memcache size unreliable
HBASE-665 server side scanner doesn't honor stop row
HBASE-681 NPE in Memcache (Clint Morgan via Jim Kellerman)
HBASE-680 config parameter hbase.io.index.interval should be
hbase.index.interval, accroding to HBaseMapFile.HbaseWriter
(LN via Stack)
HBASE-684 unnecessary iteration in HMemcache.internalGet? got much better
reading performance after break it (LN via Stack)
HBASE-686 MemcacheScanner didn't return the first row(if it exists),
because HScannerInterface's output incorrect (LN via Jim Kellerman)
HBASE-613 Timestamp-anchored scanning fails to find all records
HBASE-709 Deadlock while rolling WAL-log while finishing flush
HBASE-707 High-load import of data into single table/family never triggers split
HBASE-710 If clocks are way off, then we can have daughter split come
before rather than after its parent in .META.
Release 0.1.2 - 05/13/2008
BUG FIXES
HBASE-577 NPE getting scanner
HBASE-574 HBase does not load hadoop native libs (Rong-En Fan via Stack).
HBASE-11 Unexpected exits corrupt DFS - best we can do until we have at
least a subset of HADOOP-1700
HBASE-573 HBase does not read hadoop-*.xml for dfs configuration after
moving out hadoop/contrib
HBASE-12 when hbase regionserver restarts, it says "impossible state for
createLease()"
HBASE-575 master dies with stack overflow error if rootdir isn't qualified
HBASE-500 Regionserver stuck on exit
HBASE-582 HBase 554 forgot to clear results on each iteration caused by a filter
(Clint Morgan via Stack)
HBASE-532 Odd interaction between HRegion.get, HRegion.deleteAll and compactions
HBASE-590 HBase migration tool does not get correct FileSystem or root
directory if configuration is not correct
HBASE-595 RowFilterInterface.rowProcessed() is called *before* fhe final
filtering decision is made (Clint Morgan via Stack)
HBASE-586 HRegion runs HStore memcache snapshotting -- fix it so only HStore
knows about workings of memcache
HBASE-572 Backport HBASE-512 to 0.1 branch
HBASE-588 Still a 'hole' in scanners, even after HBASE-532
HBASE-604 Don't allow CLASSPATH from environment pollute the hbase CLASSPATH
HBASE-608 HRegionServer::getThisIP() checks hadoop config var for dns interface name
(Jim R. Wilson via Stack)
HBASE-609 Master doesn't see regionserver edits because of clock skew
HBASE-607 MultiRegionTable.makeMultiRegionTable is not deterministic enough
for regression tests
HBASE-478 offlining of table does not run reliably
HBASE-618 We always compact if 2 files, regardless of the compaction threshold setting
HBASE-619 Fix 'logs' link in UI
HBASE-620 testmergetool failing in branch and trunk since hbase-618 went in
IMPROVEMENTS
HBASE-559 MR example job to count table rows
HBASE-578 Upgrade branch to 0.16.3 hadoop.
HBASE-596 DemoClient.py (Ivan Begtin via Stack)
Release 0.1.1 - 04/11/2008
BUG FIXES
HBASE-550 EOF trying to read reconstruction log stops region deployment
HBASE-551 Master stuck splitting server logs in shutdown loop; on each
iteration, edits are aggregated up into the millions
HBASE-505 Region assignments should never time out so long as the region
server reports that it is processing the open request
HBASE-552 Fix bloom filter bugs (Andrzej Bialecki via Jim Kellerman)
HBASE-507 Add sleep between retries
HBASE-555 Only one Worker in HRS; on startup, if assigned tens of regions,
havoc of reassignments because open processing is done in series
HBASE-547 UI shows hadoop version, not hbase version
HBASE-561 HBase package does not include LICENSE.txt nor build.xml
HBASE-556 Add 0.16.2 to hbase branch -- if it works
HBASE-563 TestRowFilterAfterWrite erroneously sets master address to
0.0.0.0:60100 rather than relying on conf
HBASE-554 filters generate StackOverflowException (Clint Morgan via
Jim Kellerman)
HBASE-567 Reused BatchUpdate instances accumulate BatchOperations
NEW FEATURES
HBASE-548 Tool to online single region
Release 0.1.0
INCOMPATIBLE CHANGES
HADOOP-2750 Deprecated methods startBatchUpdate, commitBatch, abortBatch,
and renewLease have been removed from HTable (Bryan Duxbury via
Jim Kellerman)
HADOOP-2786 Move hbase out of hadoop core
HBASE-403 Fix build after move of hbase in svn
HBASE-494 Up IPC version on 0.1 branch so we cannot mistakenly connect
with a hbase from 0.16.0
NEW FEATURES
HBASE-506 When an exception has to escape ServerCallable due to exhausted retries,
show all the exceptions that lead to this situation
OPTIMIZATIONS
BUG FIXES
HADOOP-2731 Under load, regions become extremely large and eventually cause
region servers to become unresponsive
HADOOP-2693 NPE in getClosestRowBefore (Bryan Duxbury & Stack)
HADOOP-2599 Some minor improvements to changes in HADOOP-2443
(Bryan Duxbury & Stack)
HADOOP-2773 Master marks region offline when it is recovering from a region
server death
HBASE-425 Fix doc. so it accomodates new hbase untethered context
HBase-421 TestRegionServerExit broken
HBASE-426 hbase can't find remote filesystem
HBASE-446 Fully qualified hbase.rootdir doesn't work
HBASE-428 Under continuous upload of rows, WrongRegionExceptions are
thrown that reach the client even after retries
HBASE-490 Doubly-assigned .META.; master uses one and clients another
HBASE-496 impossible state for createLease writes 400k lines in about 15mins
HBASE-472 Passing on edits, we dump all to log
HBASE-79 When HBase needs to be migrated, it should display a message on
stdout, not just in the logs
HBASE-495 No server address listed in .META.
HBASE-433 HBASE-251 Region server should delete restore log after successful
restore, Stuck replaying the edits of crashed machine.
HBASE-27 hregioninfo cell empty in meta table
HBASE-501 Empty region server address in info:server entry and a
startcode of -1 in .META.
HBASE-516 HStoreFile.finalKey does not update the final key if it is not
the top region of a split region
HBASE-524 Problems with getFull
HBASE-514 table 'does not exist' when it does
HBASE-537 Wait for hdfs to exit safe mode
HBASE-534 Double-assignment at SPLIT-time
IMPROVEMENTS
HADOOP-2555 Refactor the HTable#get and HTable#getRow methods to avoid
repetition of retry-on-failure logic (thanks to Peter Dolan and
Bryan Duxbury)
HBASE-281 Shell should allow deletions in .META. and -ROOT- tables
HBASE-480 Tool to manually merge two regions
HBASE-477 Add support for an HBASE_CLASSPATH
HBASE-515 At least double default timeouts between regionserver and master
HBASE-482 package-level javadoc should have example client or at least
point at the FAQ
HBASE-497 RegionServer needs to recover if datanode goes down
HBASE-456 Clearly state which ports need to be opened in order to run HBase
HBASE-483 Merge tool won't merge two overlapping regions
HBASE-476 RegexpRowFilter behaves incorectly when there are multiple store
files (Clint Morgan via Jim Kellerman)
HBASE-527 RegexpRowFilter does not work when there are columns from
multiple families (Clint Morgan via Jim Kellerman)
Release 0.16.0
2008/02/04 HBase is now a subproject of Hadoop. The first HBase release as
a subproject will be release 0.1.0 which will be equivalent to
the version of HBase included in Hadoop 0.16.0. In order to
accomplish this, the HBase portion of HBASE-288 (formerly
HADOOP-1398) has been backed out. Once 0.1.0 is frozen (depending
mostly on changes to infrastructure due to becoming a sub project
instead of a contrib project), this patch will re-appear on HBase
trunk.
INCOMPATIBLE CHANGES
HADOOP-2056 A table with row keys containing colon fails to split regions
HADOOP-2079 Fix generated HLog, HRegion names
HADOOP-2495 Minor performance improvements: Slim-down BatchOperation, etc.
HADOOP-2506 Remove the algebra package
HADOOP-2519 Performance improvements: Customized RPC serialization
HADOOP-2478 Restructure how HBase lays out files in the file system (phase 1)
(test input data)
HADOOP-2478 Restructure how HBase lays out files in the file system (phase 2)
Includes migration tool org.apache.hadoop.hbase.util.Migrate
HADOOP-2558 org.onelab.filter.BloomFilter class uses 8X the memory it should
be using
NEW FEATURES
HADOOP-2061 Add new Base64 dialects
HADOOP-2084 Add a LocalHBaseCluster
HADOOP-2068 RESTful interface (Bryan Duxbury via Stack)
HADOOP-2316 Run REST servlet outside of master
(Bryan Duxbury & Stack)
HADOOP-1550 No means of deleting a'row' (Bryan Duxbuery via Stack)
HADOOP-2384 Delete all members of a column family on a specific row
(Bryan Duxbury via Stack)
HADOOP-2395 Implement "ALTER TABLE ... CHANGE column" operation
(Bryan Duxbury via Stack)
HADOOP-2240 Truncate for hbase (Edward Yoon via Stack)
HADOOP-2389 Provide multiple language bindings for HBase (Thrift)
(David Simpson via Stack)
OPTIMIZATIONS
HADOOP-2479 Save on number of Text object creations
HADOOP-2485 Make mapfile index interval configurable (Set default to 32
instead of 128)
HADOOP-2553 Don't make Long objects calculating hbase type hash codes
HADOOP-2377 Holding open MapFile.Readers is expensive, so use less of them
HADOOP-2407 Keeping MapFile.Reader open is expensive: Part 2
HADOOP-2533 Performance: Scanning, just creating MapWritable in next
consumes >20% CPU
HADOOP-2443 Keep lazy cache of regions in client rather than an
'authoritative' list (Bryan Duxbury via Stack)
HADOOP-2600 Performance: HStore.getRowKeyAtOrBefore should use
MapFile.Reader#getClosest (before)
(Bryan Duxbury via Stack)
BUG FIXES
HADOOP-2059 In tests, exceptions in min dfs shutdown should not fail test
(e.g. nightly #272)
HADOOP-2064 TestSplit assertion and NPE failures (Patch build #952 and #953)
HADOOP-2124 Use of `hostname` does not work on Cygwin in some cases
HADOOP-2083 TestTableIndex failed in #970 and #956
HADOOP-2109 Fixed race condition in processing server lease timeout.
HADOOP-2137 hql.jsp : The character 0x19 is not valid
HADOOP-2109 Fix another race condition in processing dead servers,
Fix error online meta regions: was using region name and not
startKey as key for map.put. Change TestRegionServerExit to
always kill the region server for the META region. This makes
the test more deterministic and getting META reassigned was
problematic.
HADOOP-2155 Method expecting HBaseConfiguration throws NPE when given Configuration
HADOOP-2156 BufferUnderflowException for un-named HTableDescriptors
HADOOP-2161 getRow() is orders of magnitudes slower than get(), even on rows
with one column (Clint Morgan and Stack)
HADOOP-2040 Hudson hangs AFTER test has finished
HADOOP-2274 Excess synchronization introduced by HADOOP-2139 negatively
impacts performance
HADOOP-2196 Fix how hbase sits in hadoop 'package' product
HADOOP-2276 Address regression caused by HADOOP-2274, fix HADOOP-2173 (When
the master times out a region servers lease, the region server
may not restart)
HADOOP-2253 getRow can return HBASE::DELETEVAL cells
(Bryan Duxbury via Stack)
HADOOP-2295 Fix assigning a region to multiple servers
HADOOP-2234 TableInputFormat erroneously aggregates map values
HADOOP-2308 null regioninfo breaks meta scanner
HADOOP-2304 Abbreviated symbol parsing error of dir path in jar command
(Edward Yoon via Stack)
HADOOP-2320 Committed TestGet2 is managled (breaks build).
HADOOP-2322 getRow(row, TS) client interface not properly connected
HADOOP-2309 ConcurrentModificationException doing get of all region start keys
HADOOP-2321 TestScanner2 does not release resources which sometimes cause the
test to time out
HADOOP-2315 REST servlet doesn't treat / characters in row key correctly
(Bryan Duxbury via Stack)
HADOOP-2332 Meta table data selection in Hbase Shell
(Edward Yoon via Stack)
HADOOP-2347 REST servlet not thread safe but run in a threaded manner
(Bryan Duxbury via Stack)
HADOOP-2365 Result of HashFunction.hash() contains all identical values
HADOOP-2362 Leaking hdfs file handle on region split
HADOOP-2338 Fix NullPointerException in master server.
HADOOP-2380 REST servlet throws NPE when any value node has an empty string
(Bryan Duxbury via Stack)
HADOOP-2350 Scanner api returns null row names, or skips row names if
different column families do not have entries for some rows
HADOOP-2283 AlreadyBeingCreatedException (Was: Stuck replay of failed
regionserver edits)
HADOOP-2392 TestRegionServerExit has new failure mode since HADOOP-2338
HADOOP-2324 Fix assertion failures in TestTableMapReduce
HADOOP-2396 NPE in HMaster.cancelLease
HADOOP-2397 The only time that a meta scanner should try to recover a log is
when the master is starting
HADOOP-2417 Fix critical shutdown problem introduced by HADOOP-2338
HADOOP-2418 Fix assertion failures in TestTableMapReduce, TestTableIndex,
and TestTableJoinMapReduce
HADOOP-2414 Fix ArrayIndexOutOfBoundsException in bloom filters.
HADOOP-2430 Master will not shut down if there are no active region servers
HADOOP-2199 Add tools for going from hregion filename to region name in logs
HADOOP-2441 Fix build failures in TestHBaseCluster
HADOOP-2451 End key is incorrectly assigned in many region splits
HADOOP-2455 Error in Help-string of CREATE command (Edward Yoon via Stack)
HADOOP-2465 When split parent regions are cleaned up, not all the columns are
deleted
HADOOP-2468 TestRegionServerExit failed in Hadoop-Nightly #338
HADOOP-2467 scanner truncates resultset when > 1 column families
HADOOP-2503 REST Insert / Select encoding issue (Bryan Duxbury via Stack)
HADOOP-2505 formatter classes missing apache license
HADOOP-2504 REST servlet method for deleting a scanner was not properly
mapped (Bryan Duxbury via Stack)
HADOOP-2507 REST servlet does not properly base64 row keys and column names
(Bryan Duxbury via Stack)
HADOOP-2530 Missing type in new hbase custom RPC serializer
HADOOP-2490 Failure in nightly #346 (Added debugging of hudson failures).
HADOOP-2558 fixes for build up on hudson (part 1, part 2, part 3, part 4)
HADOOP-2500 Unreadable region kills region servers
HADOOP-2579 Initializing a new HTable object against a nonexistent table
throws a NoServerForRegionException instead of a
TableNotFoundException when a different table has been created
previously (Bryan Duxbury via Stack)
HADOOP-2587 Splits blocked by compactions cause region to be offline for
duration of compaction.
HADOOP-2592 Scanning, a region can let out a row that its not supposed
to have
HADOOP-2493 hbase will split on row when the start and end row is the
same cause data loss (Bryan Duxbury via Stack)
HADOOP-2629 Shell digests garbage without complaint
HADOOP-2619 Compaction errors after a region splits
HADOOP-2621 Memcache flush flushing every 60 secs with out considering
the max memcache size
HADOOP-2584 Web UI displays an IOException instead of the Tables
HADOOP-2650 Remove Writables.clone and use WritableUtils.clone from
hadoop instead
HADOOP-2668 Documentation and improved logging so fact that hbase now
requires migration comes as less of a surprise
HADOOP-2686 Removed tables stick around in .META.
HADOOP-2688 IllegalArgumentException processing a shutdown stops
server going down and results in millions of lines of output
HADOOP-2706 HBase Shell crash
HADOOP-2712 under load, regions won't split
HADOOP-2675 Options not passed to rest/thrift
HADOOP-2722 Prevent unintentional thread exit in region server and master
HADOOP-2718 Copy Constructor HBaseConfiguration(Configuration) will override
hbase configurations if argumant is not an instance of
HBaseConfiguration.
HADOOP-2753 Back out 2718; programmatic config works but hbase*xml conf
is overridden
HADOOP-2718 Copy Constructor HBaseConfiguration(Configuration) will override
hbase configurations if argumant is not an instance of
HBaseConfiguration (Put it back again).
HADOOP-2631 2443 breaks HTable.getStartKeys when there is more than one
table or table you are enumerating isn't the first table
Delete empty file: src/contrib/hbase/src/java/org/apache/hadoop/hbase/mapred/
TableOutputCollector.java per Nigel Daley
IMPROVEMENTS
HADOOP-2401 Add convenience put method that takes writable
(Johan Oskarsson via Stack)
HADOOP-2074 Simple switch to enable DEBUG level-logging in hbase
HADOOP-2088 Make hbase runnable in $HADOOP_HOME/build(/contrib/hbase)
HADOOP-2126 Use Bob Jenkins' hash for bloom filters
HADOOP-2157 Make Scanners implement Iterable
HADOOP-2176 Htable.deleteAll documentation is ambiguous
HADOOP-2139 (phase 1) Increase parallelism in region servers.
HADOOP-2267 [Hbase Shell] Change the prompt's title from 'hbase' to 'hql'.
(Edward Yoon via Stack)
HADOOP-2139 (phase 2) Make region server more event driven
HADOOP-2289 Useless efforts of looking for the non-existant table in select
command.
(Edward Yoon via Stack)
HADOOP-2257 Show a total of all requests and regions on the web ui
(Paul Saab via Stack)
HADOOP-2261 HTable.abort no longer throws exception if there is no active update.
HADOOP-2287 Make hbase unit tests take less time to complete.
HADOOP-2262 Retry n times instead of n**2 times.
HADOOP-1608 Relational Algrebra Operators
(Edward Yoon via Stack)
HADOOP-2198 HTable should have method to return table metadata
HADOOP-2296 hbase shell: phantom columns show up from select command
HADOOP-2297 System.exit() Handling in hbase shell jar command
(Edward Yoon via Stack)
HADOOP-2224 Add HTable.getRow(ROW, ts)
(Bryan Duxbury via Stack)
HADOOP-2339 Delete command with no WHERE clause
(Edward Yoon via Stack)
HADOOP-2299 Support inclusive scans (Bryan Duxbury via Stack)
HADOOP-2333 Client side retries happen at the wrong level
HADOOP-2357 Compaction cleanup; less deleting + prevent possible file leaks
HADOOP-2392 TestRegionServerExit has new failure mode since HADOOP-2338
HADOOP-2370 Allow column families with an unlimited number of versions
(Edward Yoon via Stack)
HADOOP-2047 Add an '--master=X' and '--html' command-line parameters to shell
(Edward Yoon via Stack)
HADOOP-2351 If select command returns no result, it doesn't need to show the
header information (Edward Yoon via Stack)
HADOOP-2285 Add being able to shutdown regionservers (Dennis Kubes via Stack)
HADOOP-2458 HStoreFile.writeSplitInfo should just call
HStoreFile.Reference.write
HADOOP-2471 Add reading/writing MapFile to PerformanceEvaluation suite
HADOOP-2522 Separate MapFile benchmark from PerformanceEvaluation
(Tom White via Stack)
HADOOP-2502 Insert/Select timestamp, Timestamp data type in HQL
(Edward Yoon via Stack)
HADOOP-2450 Show version (and svn revision) in hbase web ui
HADOOP-2472 Range selection using filter (Edward Yoon via Stack)
HADOOP-2548 Make TableMap and TableReduce generic
(Frederik Hedberg via Stack)
HADOOP-2557 Shell count function (Edward Yoon via Stack)
HADOOP-2589 Change an classes/package name from Shell to hql
(Edward Yoon via Stack)
HADOOP-2545 hbase rest server should be started with hbase-daemon.sh
HADOOP-2525 Same 2 lines repeated 11 million times in HMaster log upon
HMaster shutdown
HADOOP-2616 hbase not spliting when the total size of region reaches max
region size * 1.5
HADOOP-2643 Make migration tool smarter.
Release 0.15.1
Branch 0.15
INCOMPATIBLE CHANGES
HADOOP-1931 Hbase scripts take --ARG=ARG_VALUE when should be like hadoop
and do ---ARG ARG_VALUE
NEW FEATURES
HADOOP-1768 FS command using Hadoop FsShell operations
(Edward Yoon via Stack)
HADOOP-1784 Delete: Fix scanners and gets so they work properly in presence
of deletes. Added a deleteAll to remove all cells equal to or
older than passed timestamp. Fixed compaction so deleted cells
do not make it out into compacted output. Ensure also that
versions > column max are dropped compacting.
HADOOP-1720 Addition of HQL (Hbase Query Language) support in Hbase Shell.
The old shell syntax has been replaced by HQL, a small SQL-like
set of operators, for creating, altering, dropping, inserting,
deleting, and selecting, etc., data in hbase.
(Inchul Song and Edward Yoon via Stack)
HADOOP-1913 Build a Lucene index on an HBase table
(Ning Li via Stack)
HADOOP-1957 Web UI with report on cluster state and basic browsing of tables
OPTIMIZATIONS
BUG FIXES
HADOOP-1527 Region server won't start because logdir exists
HADOOP-1723 If master asks region server to shut down, by-pass return of
shutdown message
HADOOP-1729 Recent renaming or META tables breaks hbase shell
HADOOP-1730 unexpected null value causes META scanner to exit (silently)
HADOOP-1747 On a cluster, on restart, regions multiply assigned
HADOOP-1776 Fix for sporadic compaction failures closing and moving
compaction result
HADOOP-1780 Regions are still being doubly assigned
HADOOP-1797 Fix NPEs in MetaScanner constructor
HADOOP-1799 Incorrect classpath in binary version of Hadoop
HADOOP-1805 Region server hang on exit
HADOOP-1785 TableInputFormat.TableRecordReader.next has a bug
(Ning Li via Stack)
HADOOP-1800 output should default utf8 encoding
HADOOP-1801 When hdfs is yanked out from under hbase, hbase should go down gracefully
HADOOP-1813 OOME makes zombie of region server
HADOOP-1814 TestCleanRegionServerExit fails too often on Hudson
HADOOP-1820 Regionserver creates hlogs without bound
(reverted 2007/09/25) (Fixed 2007/09/30)
HADOOP-1821 Replace all String.getBytes() with String.getBytes("UTF-8")
HADOOP-1832 listTables() returns duplicate tables
HADOOP-1834 Scanners ignore timestamp passed on creation
HADOOP-1847 Many HBase tests do not fail well.
HADOOP-1847 Many HBase tests do not fail well. (phase 2)
HADOOP-1870 Once file system failure has been detected, don't check it again
and get on with shutting down the hbase cluster.
HADOOP-1888 NullPointerException in HMemcacheScanner (reprise)
HADOOP-1903 Possible data loss if Exception happens between snapshot and
flush to disk.
HADOOP-1920 Wrapper scripts broken when hadoop in one location and hbase in
another
HADOOP-1923, HADOOP-1924 a) tests fail sporadically because set up and tear
down is inconsistent b) TestDFSAbort failed in nightly #242
HADOOP-1929 Add hbase-default.xml to hbase jar
HADOOP-1941 StopRowFilter throws NPE when passed null row
HADOOP-1966 Make HBase unit tests more reliable in the Hudson environment.
HADOOP-1975 HBase tests failing with java.lang.NumberFormatException
HADOOP-1990 Regression test instability affects nightly and patch builds
HADOOP-1996 TestHStoreFile fails on windows if run multiple times
HADOOP-1937 When the master times out a region server's lease, it is too
aggressive in reclaiming the server's log.
HADOOP-2004 webapp hql formatting bugs
HADOOP_2011 Make hbase daemon scripts take args in same order as hadoop
daemon scripts
HADOOP-2017 TestRegionServerAbort failure in patch build #903 and
nightly #266
HADOOP-2029 TestLogRolling fails too often in patch and nightlies
HADOOP-2038 TestCleanRegionExit failed in patch build #927
IMPROVEMENTS
HADOOP-1737 Make HColumnDescriptor data publically members settable
HADOOP-1746 Clean up findbugs warnings
HADOOP-1757 Bloomfilters: single argument constructor, use enum for bloom
filter types
HADOOP-1760 Use new MapWritable and SortedMapWritable classes from
org.apache.hadoop.io
HADOOP-1793 (Phase 1) Remove TestHClient (Phase2) remove HClient.
HADOOP-1794 Remove deprecated APIs
HADOOP-1802 Startup scripts should wait until hdfs as cleared 'safe mode'
HADOOP-1833 bin/stop_hbase.sh returns before it completes
(Izaak Rubin via Stack)
HADOOP-1835 Updated Documentation for HBase setup/installation
(Izaak Rubin via Stack)
HADOOP-1868 Make default configuration more responsive
HADOOP-1884 Remove useless debugging log messages from hbase.mapred
HADOOP-1856 Add Jar command to hbase shell using Hadoop RunJar util
(Edward Yoon via Stack)
HADOOP-1928 Have master pass the regionserver the filesystem to use
HADOOP-1789 Output formatting
HADOOP-1960 If a region server cannot talk to the master before its lease
times out, it should shut itself down
HADOOP-2035 Add logo to webapps
Below are the list of changes before 2007-08-18
1. HADOOP-1384. HBase omnibus patch. (jimk, Vuk Ercegovac, and Michael Stack)
2. HADOOP-1402. Fix javadoc warnings in hbase contrib. (Michael Stack)
3. HADOOP-1404. HBase command-line shutdown failing (Michael Stack)
4. HADOOP-1397. Replace custom hbase locking with
java.util.concurrent.locks.ReentrantLock (Michael Stack)
5. HADOOP-1403. HBase reliability - make master and region server more fault
tolerant.
6. HADOOP-1418. HBase miscellaneous: unit test for HClient, client to do
'Performance Evaluation', etc.
7. HADOOP-1420, HADOOP-1423. Findbugs changes, remove reference to removed
class HLocking.
8. HADOOP-1424. TestHBaseCluster fails with IllegalMonitorStateException. Fix
regression introduced by HADOOP-1397.
9. HADOOP-1426. Make hbase scripts executable + add test classes to CLASSPATH.
10. HADOOP-1430. HBase shutdown leaves regionservers up.
11. HADOOP-1392. Part1: includes create/delete table; enable/disable table;
add/remove column.
12. HADOOP-1392. Part2: includes table compaction by merging adjacent regions
that have shrunk in size.
13. HADOOP-1445 Support updates across region splits and compactions
14. HADOOP-1460 On shutdown IOException with complaint 'Cannot cancel lease
that is not held'
15. HADOOP-1421 Failover detection, split log files.
For the files modified, also clean up javadoc, class, field and method
visibility (HADOOP-1466)
16. HADOOP-1479 Fix NPE in HStore#get if store file only has keys < passed key.
17. HADOOP-1476 Distributed version of 'Performance Evaluation' script
18. HADOOP-1469 Asychronous table creation
19. HADOOP-1415 Integrate BSD licensed bloom filter implementation.
20. HADOOP-1465 Add cluster stop/start scripts for hbase
21. HADOOP-1415 Provide configurable per-column bloom filters - part 2.
22. HADOOP-1498. Replace boxed types with primitives in many places.
23. HADOOP-1509. Made methods/inner classes in HRegionServer and HClient protected
instead of private for easier extension. Also made HRegion and HRegionInfo public too.
Added an hbase-default.xml property for specifying what HRegionInterface extension to use
for proxy server connection. (James Kennedy via Jim Kellerman)
24. HADOOP-1534. [hbase] Memcache scanner fails if start key not present
25. HADOOP-1537. Catch exceptions in testCleanRegionServerExit so we can see
what is failing.
26. HADOOP-1543 [hbase] Add HClient.tableExists
27. HADOOP-1519 [hbase] map/reduce interface for HBase. (Vuk Ercegovac and
Jim Kellerman)
28. HADOOP-1523 Hung region server waiting on write locks
29. HADOOP-1560 NPE in MiniHBaseCluster on Windows
30. HADOOP-1531 Add RowFilter to HRegion.HScanner
Adds a row filtering interface and two implemenentations: A page scanner,
and a regex row/column-data matcher. (James Kennedy via Stack)
31. HADOOP-1566 Key-making utility
32. HADOOP-1415 Provide configurable per-column bloom filters.
HADOOP-1466 Clean up visibility and javadoc issues in HBase.
33. HADOOP-1538 Provide capability for client specified time stamps in HBase
HADOOP-1466 Clean up visibility and javadoc issues in HBase.
34. HADOOP-1589 Exception handling in HBase is broken over client server connections
35. HADOOP-1375 a simple parser for hbase (Edward Yoon via Stack)
36. HADOOP-1600 Update license in HBase code
37. HADOOP-1589 Exception handling in HBase is broken over client server
38. HADOOP-1574 Concurrent creates of a table named 'X' all succeed
39. HADOOP-1581 Un-openable tablename bug
40. HADOOP-1607 [shell] Clear screen command (Edward Yoon via Stack)
41. HADOOP-1614 [hbase] HClient does not protect itself from simultaneous updates
42. HADOOP-1468 Add HBase batch update to reduce RPC overhead
43. HADOOP-1616 Sporadic TestTable failures
44. HADOOP-1615 Replacing thread notification-based queue with
java.util.concurrent.BlockingQueue in HMaster, HRegionServer
45. HADOOP-1606 Updated implementation of RowFilterSet, RowFilterInterface
(Izaak Rubin via Stack)
46. HADOOP-1579 Add new WhileMatchRowFilter and StopRowFilter filters
(Izaak Rubin via Stack)
47. HADOOP-1637 Fix to HScanner to Support Filters, Add Filter Tests to
TestScanner2 (Izaak Rubin via Stack)
48. HADOOP-1516 HClient fails to readjust when ROOT or META redeployed on new
region server
49. HADOOP-1646 RegionServer OOME's under sustained, substantial loading by
10 concurrent clients
50. HADOOP-1468 Add HBase batch update to reduce RPC overhead (restrict batches
to a single row at a time)
51. HADOOP-1528 HClient for multiple tables (phase 1) (James Kennedy & JimK)
52. HADOOP-1528 HClient for multiple tables (phase 2) all HBase client side code
(except TestHClient and HBaseShell) have been converted to use the new client
side objects (HTable/HBaseAdmin/HConnection) instead of HClient.
53. HADOOP-1528 HClient for multiple tables - expose close table function
54. HADOOP-1466 Clean up warnings, visibility and javadoc issues in HBase.
55. HADOOP-1662 Make region splits faster
56. HADOOP-1678 On region split, master should designate which host should
serve daughter splits. Phase 1: Master balances load for new regions and
when a region server fails.
57. HADOOP-1678 On region split, master should designate which host should
serve daughter splits. Phase 2: Master assigns children of split region
instead of HRegionServer serving both children.
58. HADOOP-1710 All updates should be batch updates
59. HADOOP-1711 HTable API should use interfaces instead of concrete classes as
method parameters and return values
60. HADOOP-1644 Compactions should not block updates
60. HADOOP-1672 HBase Shell should use new client classes
(Edward Yoon via Stack).
61. HADOOP-1709 Make HRegionInterface more like that of HTable
HADOOP-1725 Client find of table regions should not include offlined, split parents