HBase Change Log Release 0.20.0 - Unreleased INCOMPATIBLE CHANGES HBASE-1147 Modify the scripts to use Zookeeper HBASE-1144 Store the ROOT region location in Zookeeper (Nitay Joffe via Stack) HBASE-1146 Replace the HRS leases with Zookeeper HBASE-61 Create an HBase-specific MapFile implementation (Ryan Rawson via Stack) HBASE-1145 Ensure that there is only 1 Master with Zookeeper (Removes hbase.master) (Nitay Joffe via Stack) HBASE-1289 Remove "hbase.fully.distributed" option and update docs (Nitay Joffe via Stack) HBASE-1234 Change HBase StoreKey format HBASE-1348 Move 0.20.0 targeted TRUNK to 0.20.0 hadoop (Ryan Rawson and Stack) HBASE-1342 Add to filesystem info needed to rebuild .META. HBASE-1361 Disable bloom filters HBASE-1367 Get rid of Thrift exception 'NotFound' HBASE-1381 Remove onelab and bloom filters files from hbase HBASE-1411 Remove HLogEdit. HBASE-1357 If one sets the hbase.master to 0.0.0.0 non local regionservers can't find the master BUG FIXES HBASE-1140 "ant clean test" fails (Nitay Joffe via Stack) HBASE-1129 Master won't go down; stuck joined on rootScanner HBASE-1136 HashFunction inadvertently destroys some randomness (Jonathan Ellis via Stack) HBASE-1138 Test that readers opened after a sync can see all data up to the sync (temporary until HADOOP-4379 is resolved) HBASE-1121 Cluster confused about where -ROOT- is HBASE-1148 Always flush HLog on root or meta region updates HBASE-1181 src/saveVersion.sh bails on non-standard Bourne shells (e.g. dash) (K M via Jean-Daniel Cryans) HBASE-1175 HBA administrative tools do not work when specifying region name (Jonathan Gray via Andrew Purtell) HBASE-1190 TableInputFormatBase with row filters scan too far (Dave Latham via Andrew Purtell) HBASE-1198 OOME in IPC server does not trigger abort behavior HBASE-1209 Make port displayed the same as is used in URL for RegionServer table in UI (Lars George via Stack) HBASE-1217 add new compression and hfile blocksize to HColumnDescriptor HBASE-859 HStoreKey needs a reworking HBASE-1211 NPE in retries exhausted exception HBASE-1233 Transactional fixes: Overly conservative scan read-set, potential CME (Clint Morgan via Stack) HBASE-1239 in the REST interface does not correctly clear the character buffer each iteration-1185 wrong request/sec in the gui reporting wrong (Brian Beggs via Stack) HBASE-1245 hfile meta block handling bugs (Ryan Rawson via Stack) HBASE-1238 Under upload, region servers are unable to compact when loaded with hundreds of regions HBASE-1247 checkAndSave doesn't Write Ahead Log HBASE-1243 oldlogfile.dat is screwed, so is it's region HBASE-1169 When a shutdown is requested, stop scanning META regions immediately HBASE-1251 HConnectionManager.getConnection(HBaseConfiguration) returns same HConnection for different HBaseConfigurations HBASE-1157, HBASE-1156 If we do not take start code as a part of region server recovery, we could inadvertantly try to reassign regions assigned to a restarted server with a different start code; Improve lease handling HBASE-1267 binary keys broken in trunk (again) -- part 2 and 3 (Ryan Rawson via Stack) HBASE-1268 ZooKeeper config parsing can break HBase startup (Nitay Joffe via Stack) HBASE-1270 Fix TestInfoServers (Nitay Joffe via Stack) HBASE-1277 HStoreKey: Wrong comparator logic (Evgeny Ryabitskiy) HBASE-1275 TestTable.testCreateTable broken (Ryan Rawson via Stack) HBASE-1274 TestMergeTable is broken in Hudson (Nitay Joffe via Stack) HBASE-1283 thrift's package descrpition needs to update for start/stop procedure (Rong-en Fan via Stack) HBASE-1284 drop table drops all disabled tables HBASE-1290 table.jsp either 500s out or doesnt list the regions (Ryan Rawson via Andrew Purtell) HBASE-1293 hfile doesn't recycle decompressors (Ryan Rawson via Andrew Purtell) HBASE-1150 HMsg carries safemode flag; remove (Nitay Joffe via Stack) HBASE-1232 zookeeper client wont reconnect if there is a problem (Nitay Joffe via Andrew Purtell) HBASE-1303 Secondary index configuration prevents HBase from starting (Ken Weiner via Stack) HBASE-1298 master.jsp & table.jsp do not URI Encode table or region names in links (Lars George via Stack) HBASE-1310 Off by one error in Bytes.vintToBytes HBASE-1202 getRow does not always work when specifying number of versions HBASE-1324 hbase-1234 broke testget2 unit test (and broke the build) HBASE-1321 hbase-1234 broke TestCompaction; fix and reenable HBASE-1330 binary keys broken on trunk (Ryan Rawson via Stack) HBASE-1332 regionserver carrying .META. starts sucking all cpu, drives load up - infinite loop? (Ryan Rawson via Stack) HBASE-1334 .META. region running into hfile errors (Ryan Rawson via Stack) HBASE-1338 lost use of compaction.dir; we were compacting into live store subdirectory HBASE-1058 Prevent runaway compactions HBASE-1292 php thrift's getRow() would throw an exception if the row does not exist (Rong-en Fan via Stack) HBASE-1340 Fix new javadoc warnings (Evgeny Ryabitskiy via Stack) HBASE-1287 Partitioner class not used in TableMapReduceUtil.initTableReduceJob() (Lars George and Billy Pearson via Stack) HBASE-1320 hbase-1234 broke filter tests HBASE-1355 [performance] Cache family maxversions; we were calculating on each access HBASE-1358 Bug in reading from Memcache method (read only from snapshot) (Evgeny Ryabitskiy via Stack) HBASE-1322 hbase-1234 broke TestAtomicIncrement; fix and reenable (Evgeny Ryabitskiy and Ryan Rawson via Stack) HBASE-1347 HTable.incrementColumnValue does not take negative 'amount' (Evgeny Ryabitskiy via Stack) HBASE-1365 Typo in TableInputFormatBase.setInputColums (Jon Gray via Stack) HBASE-1279 Fix the way hostnames and IPs are handled HBASE-1368 HBASE-1279 broke the build HBASE-1264 Wrong return values of comparators for ColumnValueFilter (Thomas Schneider via Andrew Purtell) HBASE-1374 NPE out of ZooKeeperWrapper.loadZooKeeperConfig HBASE-1336 Splitting up the compare of family+column into 2 different compare HBASE-1377 RS address is null in master web UI HBASE-1344 WARN IllegalStateException: Cannot set a region as open if it has not been pending HBASE-1386 NPE in housekeeping HBASE-1396 Remove unused sequencefile and mapfile config. from hbase-default.xml HBASE-1398 TableOperation doesnt format keys for meta scan properly (Ryan Rawson via Stack) HBASE-1399 Can't drop tables since HBASE-1398 (Ryan Rawson via Andrew Purtell) HBASE-1311 ZooKeeperWrapper: Failed to set watcher on ZNode /hbase/master (Nitay Joffe via Stack) HBASE-1391 NPE in TableInputFormatBase$TableRecordReader.restart if zoo.cfg is wrong or missing on task trackers HBASE-1323 hbase-1234 broke TestThriftServer; fix and reenable HBASE-1425 ColumnValueFilter and WhileMatchFilter fixes on trunk (Clint Morgan via Stack) HBASE-1431 NPE in HTable.checkAndSave when row doesn't exist (Guilherme Mauro Germoglio Barbosa via Andrew Purtell) HBASE-1421 Processing a regionserver message -- OPEN, CLOSE, SPLIT, etc. -- and if we're carrying more than one message in payload, if exception, all messages that follow are dropped on floor HBASE-1434 Duplicate property in hbase-default.xml (Lars George via Andrew Purtell) HBASE-1435 HRegionServer is using wrong info bind address from hbase-site.xml (Lars George via Stack) HBASE-1438 HBASE-1421 broke the build (#602 up on hudson) HBASE-1440 master won't go down because joined on a rootscanner that is waiting for ever HBASE-1441 NPE in ProcessRegionStatusChange#getMetaRegion HBASE-1162 CME in Master in RegionManager.applyActions HBASE-1010 IOE on regionserver shutdown because hadn't opened an HLog HBASE-1415 Stuck on memcache flush HBASE-1257 base64 encoded values are not contained in quotes during the HBase REST JSON serialization (Brian Beggs via Stack) HBASE-1436 Killing regionserver can make corrupted hfile HBASE-1272 Unreadable log messages -- "... to the only server localhost_1237525439599_56094" <- You'd have to be perverse to recognize that as a hostname, startcode, and port HBASE-1395 InfoServers no longer put up a UI HBASE-1302 When a new master comes up, regionservers should continue with their region assignments from the last master HBASE-1457 Taking down ROOT/META regionserver can result in cluster becoming in-operational (Ryan Rawson via Stack) HBASE-1471 During cluster shutdown, deleting zookeeper regionserver nodes causes exceptions IMPROVEMENTS HBASE-1089 Add count of regions on filesystem to master UI; add percentage online as difference between whats open and whats on filesystem (Samuel Guo via Stack) HBASE-1130 PrefixRowFilter (Michael Gottesman via Stack) HBASE-1139 Update Clover in build.xml HBASE-876 There are a large number of Java warnings in HBase; part 1, part 2, part 3, part 4, part 5, part 6, part 7 and part 8 (Evgeny Ryabitskiy via Stack) HBASE-896 Update jruby from 1.1.2 to 1.1.6 HBASE-1031 Add the Zookeeper jar HBASE-1142 Cleanup thrift server; remove Text and profuse DEBUG messaging (Tim Sell via Stack) HBASE-1064 HBase REST xml/json improvements (Brian Beggs working of initial Michael Gottesman work via Stack) HBASE-5121 Fix shell usage for format.width HBASE-845 HCM.isTableEnabled doesn't really tell if it is, or not HBASE-903 [shell] Can't set table descriptor attributes when I alter a table HBASE-1166 saveVersion.sh doesn't work with git (Nitay Joffe via Stack) HBASE-1167 JSP doesn't work in a git checkout (Nitay Joffe via Andrew Purtell) HBASE-1178 Add shutdown command to shell HBASE-1184 HColumnDescriptor is too restrictive with family names (Toby White via Andrew Purtell) HBASE-1180 Add missing import statements to SampleUploader and remove unnecessary @Overrides (Ryan Smith via Andrew Purtell) HBASE-1191 ZooKeeper ensureParentExists calls fail on absolute path (Nitay Joffe via Jean-Daniel Cryans) HBASE-1187 After disabling/enabling a table, the regions seems to be assigned to only 1-2 region servers HBASE-1210 Allow truncation of output for scan and get commands in shell (Lars George via Stack) HBASE-1221 When using ant -projecthelp to build HBase not all the important options show up (Erik Holstad via Stack) HBASE-1189 Changing the map type used internally for HbaseMapWritable (Erik Holstad via Stack) HBASE-1188 Memory size of Java Objects - Make cacheable objects implement HeapSize (Erik Holstad via Stack) HBASE-1230 Document installation of HBase on Windows HBASE-1241 HBase additions to ZooKeeper part 1 (Nitay Joffe via JD) HBASE-1231 Today, going from a RowResult to a BatchUpdate reqiures some data processing even though they are pretty much the same thing (Erik Holstad via Stack) HBASE-1240 Would be nice if RowResult could be comparable (Erik Holstad via Stack) HBASE-803 Atomic increment operations (Ryan Rawson and Jon Gray via Stack) Part 1 and part 2 -- fix for a crash. HBASE-1252 Make atomic increment perform a binary increment (Jonathan Gray via Stack) HBASE-1258,1259 ganglia metrics for 'requests' is confusing (Ryan Rawson via Stack) HBASE-1265 HLogEdit static constants should be final (Nitay Joffe via Stack) HBASE-1244 ZooKeeperWrapper constants cleanup (Nitay Joffe via Stack) HBASE-1262 Eclipse warnings, including performance related things like synthetic accessors (Nitay Joffe via Stack) HBASE-1273 ZooKeeper WARN spits out lots of useless messages (Nitay Joffe via Stack) HBASE-1285 Forcing compactions should be available via thrift (Tim Sell via Stack) HBASE-1186 Memory-aware Maps with LRU eviction for cell cache (Jonathan Gray via Andrew Purtell) HBASE-1205 RegionServers should find new master when a new master comes up (Nitay Joffe via Andrew Purtell) HBASE-1309 HFile rejects key in Memcache with empty value HBASE-1331 Lower the default scanner caching value HBASE-1235 Add table enabled status to shell and UI (Lars George via Stack) HBASE-1333 RowCounter updates HBASE-1195 If HBase directory exists but version file is inexistent, still proceed with bootstrapping (Evgeny Ryabitskiy via Stack) HBASE-1301 HTable.getRow() returns null if the row does no exist (Rong-en Fan via Stack) HBASE-1176 Javadocs in HBA should be clear about which functions are asynchronous and which are synchronous (Evgeny Ryabitskiy via Stack) HBASE-1260 Bytes utility class changes: remove usage of ByteBuffer and provide additional ByteBuffer primitives (Jon Gray via Stack) HBASE-1183 New MR splitting algorithm and other new features need a way to split a key range in N chunks (Jon Gray via Stack) HBASE-1350 New method in HTable.java to return start and end keys for regions in a table (Vimal Mathew via Stack) HBASE-1271 Allow multiple tests to run on one machine (Evgeny Ryabitskiy via Stack) HBASE-1112 we will lose data if the table name happens to be the logs' dir name (Samuel Guo via Stack) HBASE-889 The current Thrift API does not allow a new scanner to be created without supplying a column list unlike the other APIs. (Tim Sell via Stack) HBASE-1341 HTable pooler HBASE-1379 re-enable LZO using hadoop-gpl-compression library (Ryan Rawson via Stack) HBASE-1383 hbase shell needs to warn on deleting multi-region table HBASE-1286 Thrift should support next(nbRow) like functionality (Alex Newman via Stack) HBASE-1392 change how we build/configure lzocodec (Ryan Rawson via Stack) HBASE-1397 Better distribution in the PerformanceEvaluation MapReduce when rows run to the Billions HBASE-1393 Narrow synchronization in HLog HBASE-1404 minor edit of regionserver logging messages HBASE-1405 Threads.shutdown has unnecessary branch HBASE-1407 Changing internal structure of ImmutableBytesWritable contructor (Erik Holstad via Stack) HBASE-1345 Remove distributed mode from MiniZooKeeper (Nitay Joffe via Stack) HBASE-1414 Add server status logging chore to ServerManager HBASE-1379 Make KeyValue implement Writable (Erik Holstad and Jon Gray via Stack) HBASE-1380 Make KeyValue implement HeapSize (Erik Holstad and Jon Gray via Stack) HBASE-1413 Fall back to filesystem block size default if HLog blocksize is not specified HBASE-1417 Cleanup disorientating RPC message HBASE-1424 have shell print regioninfo and location on first load if DEBUG enabled HBASE-1008 [performance] The replay of logs on server crash takes way too long HBASE-1394 Uploads sometimes fall to 0 requests/second (Binding up on HLog#append?) HBASE-1429 Allow passing of a configuration object to HTablePool HBASE-1432 LuceneDocumentWrapper is not public HBASE-1401 close HLog (and open new one) if there hasnt been edits in N minutes/hours HBASE-1420 add abliity to add and remove (table) indexes on existing tables (Clint Morgan via Stack) HBASE-1430 Read the logs in batches during log splitting to avoid OOME HBASE-1017 Region balancing does not bring newly added node within acceptable range (Evgeny Ryabitskiy via Stack) HBASE-1454 HBaseAdmin.getClusterStatus HBASE-1236 Improve readability of table descriptions in the UI (Lars George and Alex Newman via Stack) HBASE-1455 Update DemoClient.py for thrift 1.0 (Tim Sell via Stack) HBASE-1464 Add hbase.regionserver.logroll.period to hbase-default HBASE-1192 LRU-style map for the block cache (Jon Gray and Ryan Rawson via Stack) HBASE-1445 Add the ability to start a master from any machine HBASE-1474 Add zk attributes to list of attributes in master and regionserver UIs HBASE-1448 Add a node in ZK to tell all masters to shutdown HBASE-1478 Remove hbase master options from shell (Nitay Joffe via Stack) HBASE-1462 hclient still seems to depend on master HBASE-1143 region count erratic in master UI (kill server hosting root or meta and see how count goes awry).... make sure you have a bunch of reions in there OPTIMIZATIONS HBASE-1412 Change values for delete column and column family in KeyValue Release 0.19.0 - 01/21/2009 INCOMPATIBLE CHANGES HBASE-885 TableMap and TableReduce should be interfaces (Doğacan Güney via Stack) HBASE-905 Remove V5 migration classes from 0.19.0 (Jean-Daniel Cryans via Jim Kellerman) HBASE-852 Cannot scan all families in a row with a LIMIT, STARTROW, etc. (Izaak Rubin via Stack) HBASE-953 Enable BLOCKCACHE by default [WAS -> Reevaluate HBASE-288 block caching work....?] -- Update your hbase-default.xml file! HBASE-636 java6 as a requirement HBASE-994 IPC interfaces with different versions can cause problems HBASE-1028 If key does not exist, return null in getRow rather than an empty RowResult HBASE-1134 OOME in HMaster when HBaseRPC is older than 0.19 BUG FIXES HBASE-891 HRS.validateValuesLength throws IOE, gets caught in the retries HBASE-892 Cell iteration is broken (Doğacan Güney via Jim Kellerman) HBASE-898 RowResult.containsKey(String) doesn't work (Doğacan Güney via Jim Kellerman) HBASE-906 [shell] Truncates output HBASE-912 PE is broken when other tables exist HBASE-853 [shell] Cannot describe meta tables (Izaak Rubin via Stack) HBASE-844 Can't pass script to hbase shell HBASE-837 Add unit tests for ThriftServer.HBaseHandler (Izaak Rubin via Stack) HBASE-913 Classes using log4j directly HBASE-914 MSG_REPORT_CLOSE has a byte array for a message HBASE-918 Region balancing during startup makes cluster unstable HBASE-921 region close and open processed out of order; makes for disagreement between master and regionserver on region state HBASE-925 HRS NPE on way out if no master to connect to HBASE-928 NPE throwing RetriesExhaustedException HBASE-924 Update hadoop in lib on 0.18 hbase branch to 0.18.1 HBASE-929 Clarify that ttl in HColumnDescriptor is seconds HBASE-930 RegionServer stuck: HLog: Could not append. Requesting close of log java.io.IOException: Could not get block locations HBASE-926 If no master, regionservers should hang out rather than fail on connection and shut themselves down HBASE-919 Master and Region Server need to provide root region location if they are using HTable With J-D's one line patch, test cases now appear to work and PerformanceEvaluation works as before. HBASE-939 NPE in HStoreKey HBASE-945 Be consistent in use of qualified/unqualified mapfile paths HBASE-946 Row with 55k deletes timesout scanner lease HBASE-950 HTable.commit no longer works with existing RowLocks though it's still in API HBASE-952 Deadlock in HRegion.batchUpdate HBASE-954 Don't reassign root region until ProcessServerShutdown has split the former region server's log HBASE-957 PerformanceEvaluation tests if table exists by comparing descriptors HBASE-728, HBASE-956, HBASE-955 Address thread naming, which threads are Chores, vs Threads, make HLog manager the write ahead log and not extend it to provided optional HLog sync operations. HBASE-970 Update the copy/rename scripts to go against change API HBASE-966 HBASE-748 misses some writes HBASE-971 Fix the failing tests on Hudson HBASE-973 [doc] In getting started, make it clear that hbase needs to create its directory in hdfs HBASE-963 Fix the retries in HTable.flushCommit HBASE-969 Won't when storefile > 2G. HBASE-976 HADOOP 0.19.0 RC0 is broke; replace with HEAD of branch-0.19 HBASE-977 Arcane HStoreKey comparator bug HBASE-979 REST web app is not started automatically HBASE-980 Undo core of HBASE-975, caching of start and end row HBASE-982 Deleting a column in MapReduce fails (Doğacan Güney via Stack) HBASE-984 Fix javadoc warnings HBASE-985 Fix javadoc warnings HBASE-951 Either shut down master or let it finish cleanup HBASE-964 Startup stuck "waiting for root region" HBASE-964, HBASE-678 provide for safe-mode without locking up HBase "waiting for root region" HBASE-990 NoSuchElementException in flushSomeRegions; took two attempts. HBASE-602 HBase Crash when network card has a IPv6 address HBASE-996 Migration script to up the versions in catalog tables HBASE-991 Update the mapred package document examples so they work with TRUNK/0.19.0. HBASE-1003 If cell exceeds TTL but not VERSIONs, will not be removed during major compaction HBASE-1005 Regex and string comparison operators for ColumnValueFilter HBASE-910 Scanner misses columns / rows when the scanner is obtained during a memcache flush HBASE-1009 Master stuck in loop wanting to assign but regions are closing HBASE-1016 Fix example in javadoc overvie HBASE-1021 hbase metrics FileContext not working HBASE-1023 Check global flusher HBASE-1036 HBASE-1028 broke Thrift HBASE-1037 Some test cases failing on Windows/Cygwin but not UNIX/Linux HBASE-1041 Migration throwing NPE HBASE-1042 OOME but we don't abort; two part commit. HBASE-927 We don't recover if HRS hosting -ROOT-/.META. goes down HBASE-1029 REST wiki documentation incorrect (Sishen Freecity via Stack) HBASE-1043 Removing @Override attributes where they are no longer needed. (Ryan Smith via Jim Kellerman) HBASE-927 We don't recover if HRS hosting -ROOT-/.META. goes down - (fix bug in createTable which caused tests to fail) HBASE-1039 Compaction fails if bloomfilters are enabled HBASE-1027 Make global flusher check work with percentages rather than hard code memory sizes HBASE-1000 Sleeper.sleep does not go back to sleep when interrupted and no stop flag given. HBASE-900 Regionserver memory leak causing OOME during relatively modest bulk importing; part 1 and part 2 HBASE-1054 Index NPE on scanning (Clint Morgan via Andrew Purtell) HBASE-1052 Stopping a HRegionServer with unflushed cache causes data loss from org.apache.hadoop.hbase.DroppedSnapshotException HBASE-1059 ConcurrentModificationException in notifyChangedReadersObservers HBASE-1063 "File separator problem on Windows" (Max Lehn via Stack) HBASE-1068 TestCompaction broken on hudson HBASE-1067 TestRegionRebalancing broken by running of hdfs shutdown thread HBASE-1070 Up default index interval in TRUNK and branch HBASE-1045 Hangup by regionserver causes write to fail HBASE-1079 Dumb NPE in ServerCallable hides the RetriesExhausted exception HBASE-782 The DELETE key in the hbase shell deletes the wrong character (Tim Sell via Stack) HBASE-543, HBASE-1046, HBase-1051 A region's state is kept in several places in the master opening the possibility for race conditions HBASE-1087 DFS failures did not shutdown regionserver HBASE-1072 Change Thread.join on exit to a timed Thread.join HBASE-1098 IllegalStateException: Cannot set a region to be closed it it was not already marked as closing HBASE-1100 HBASE-1062 broke TestForceSplit HBASE-1191 shell tools -> close_region does not work for regions that did not deploy properly on startup HBASE-1093 NPE in HStore#compact HBASE-1097 SequenceFile.Reader keeps around buffer whose size is that of largest item read -> results in lots of dead heap HBASE-1107 NPE in HStoreScanner.updateReaders HBASE-1083 Will keep scheduling major compactions if last time one ran, we didn't. HBASE-1101 NPE in HConnectionManager$TableServers.processBatchOfRows HBASE-1099 Regions assigned while master is splitting logs of recently crashed server; regionserver tries to execute incomplete log HBASE-1104, HBASE-1098, HBASE-1096: Doubly-assigned regions redux, IllegalStateException: Cannot set a region to be closed it it was not already marked as closing, Does not recover if HRS carrying -ROOT- goes down HBASE-1114 Weird NPEs compacting HBASE-1116 generated web.xml and svn don't play nice together HBASE-1119 ArrayOutOfBoundsException in HStore.compact HBASE-1121 Cluster confused about where -ROOT- is HBASE-1125 IllegalStateException: Cannot set a region to be closed if it was not already marked as pending close HBASE-1124 Balancer kicks in way too early HBASE-1127 OOME running randomRead PE HBASE-1132 Can't append to HLog, can't roll log, infinite cycle (another spin on HBASE-930) IMPROVEMENTS HBASE-901 Add a limit to key length, check key and value length on client side HBASE-890 Alter table operation and also related changes in REST interface (Sishen Freecity via Stack) HBASE-894 [shell] Should be able to copy-paste table description to create new table (Sishen Freecity via Stack) HBASE-886, HBASE-895 Sort the tables in the web UI, [shell] 'list' command should emit a sorted list of tables (Krzysztof Szlapinski via Stack) HBASE-884 Double and float converters for Bytes class (Doğacan Güney via Stack) HBASE-908 Add approximate counting to CountingBloomFilter (Andrzej Bialecki via Stack) HBASE-920 Make region balancing sloppier HBASE-902 Add force compaction and force split operations to UI and Admin HBASE-942 Add convenience methods to RowFilterSet (Clint Morgan via Stack) HBASE-943 to ColumnValueFilter: add filterIfColumnMissing property, add SubString operator (Clint Morgan via Stack) HBASE-937 Thrift getRow does not support specifying columns (Doğacan Güney via Stack) HBASE-959 Be able to get multiple RowResult at one time from client side (Sishen Freecity via Stack) HBASE-936 REST Interface: enable get number of rows from scanner interface (Sishen Freecity via Stack) HBASE-960 REST interface: more generic column family configure and also get Rows using offset and limit (Sishen Freecity via Stack) HBASE-817 Hbase/Shell Truncate HBASE-949 Add an HBase Manual HBASE-839 Update hadoop libs in hbase; move hbase TRUNK on to an hadoop 0.19.0 RC HBASE-785 Remove InfoServer, use HADOOP-3824 StatusHttpServer instead (requires hadoop 0.19) HBASE-81 When a scanner lease times out, throw a more "user friendly" exception HBASE-978 Remove BloomFilterDescriptor. It is no longer used. HBASE-975 Improve MapFile performance for start and end key HBASE-961 Delete multiple columns by regular expression (Samuel Guo via Stack) HBASE-722 Shutdown and Compactions HBASE-983 Declare Perl namespace in Hbase.thrift HBASE-987 We need a Hbase Partitioner for TableMapReduceUtil.initTableReduceJob MR Jobs (Billy Pearson via Stack) HBASE-993 Turn off logging of every catalog table row entry on every scan HBASE-992 Up the versions kept by catalog tables; currently 1. Make it 10? HBASE-998 Narrow getClosestRowBefore by passing column family HBASE-999 Up versions on historian and keep history of deleted regions for a while rather than delete immediately HBASE-938 Major compaction period is not checked periodically HBASE-947 [Optimization] Major compaction should remove deletes as well as the deleted cell HBASE-675 Report correct server hosting a table split for assignment to for MR Jobs HBASE-927 We don't recover if HRS hosting -ROOT-/.META. goes down HBASE-1013 Add debugging around commit log cleanup HBASE-972 Update hbase trunk to use released hadoop 0.19.0 HBASE-1022 Add storefile index size to hbase metrics HBASE-1026 Tests in mapred are failing HBASE-1020 Regionserver OOME handler should dump vital stats HBASE-1018 Regionservers should report detailed health to master HBASE-1034 Remove useless TestToString unit test HBASE-1030 Bit of polish on HBASE-1018 HBASE-847 new API: HTable.getRow with numVersion specified (Doğacan Güney via Stack) HBASE-1048 HLog: Found 0 logs to remove out of total 1450; oldest outstanding seqnum is 162297053 fr om region -ROOT-,,0 HBASE-1055 Better vm stats on startup HBASE-1065 Minor logging improvements in the master HBASE-1053 bring recent rpc changes down from hadoop HBASE-1056 [migration] enable blockcaching on .META. table HBASE-1069 Show whether HRegion major compacts or not in INFO level HBASE-1066 Master should support close/open/reassignment/enable/disable operations on individual regions HBASE-1062 Compactions at (re)start on a large table can overwhelm DFS HBASE-1102 boolean HTable.exists() HBASE-1105 Remove duplicated code in HCM, add javadoc to RegionState, etc. HBASE-1106 Expose getClosestRowBefore in HTable (Michael Gottesman via Stack) HBASE-1082 Administrative functions for table/region maintenance HBASE-1090 Atomic Check And Save in HTable (Michael Gottesman via Stack) HBASE-1137 Add not on xceivers count to overview documentation NEW FEATURES HBASE-875 Use MurmurHash instead of JenkinsHash [in bloomfilters] (Andrzej Bialecki via Stack) HBASE-625 Metrics support for cluster load history: emissions and graphs HBASE-883 Secondary indexes (Clint Morgan via Andrew Purtell) HBASE-728 Support for HLog appends OPTIMIZATIONS HBASE-748 Add an efficient way to batch update many rows HBASE-887 Fix a hotspot in scanners HBASE-967 [Optimization] Cache cell maximum length (HCD.getMaxValueLength); its used checking batch size HBASE-940 Make the TableOutputFormat batching-aware HBASE-576 Investigate IPC performance Release 0.18.0 - September 21st, 2008 INCOMPATIBLE CHANGES HBASE-697 Thrift idl needs update/edit to match new 0.2 API (and to fix bugs) (Tim Sell via Stack) HBASE-822 Update thrift README and HBase.thrift to use thrift 20080411 Updated all other languages examples (only python went in) BUG FIXES HBASE-881 Fixed bug when Master tries to reassign split or offline regions from a dead server HBASE-860 Fixed Bug in IndexTableReduce where it concerns writing lucene index fields. HBASE-805 Remove unnecessary getRow overloads in HRS (Jonathan Gray via Jim Kellerman) (Fix whitespace diffs in HRegionServer) HBASE-811 HTD is not fully copyable (Andrew Purtell via Jim Kellerman) HBASE-729 Client region/metadata cache should have a public method for invalidating entries (Andrew Purtell via Stack) HBASE-819 Remove DOS-style ^M carriage returns from all code where found (Jonathan Gray via Jim Kellerman) HBASE-818 Deadlock running 'flushSomeRegions' (Andrew Purtell via Stack) HBASE-820 Need mainline to flush when 'Blocking updates' goes up. (Jean-Daniel Cryans via Stack) HBASE-821 UnknownScanner happens too often (Jean-Daniel Cryans via Stack) HBASE-813 Add a row counter in the new shell (Jean-Daniel Cryans via Stack) HBASE-824 Bug in Hlog we print array of byes for region name (Billy Pearson via Stack) HBASE-825 Master logs showing byte [] in place of string in logging (Billy Pearson via Stack) HBASE-808,809 MAX_VERSIONS not respected, and Deletall doesn't and inserts after delete don't work as expected (Jean-Daniel Cryans via Stack) HBASE-831 committing BatchUpdate with no row should complain (Andrew Purtell via Jim Kellerman) HBASE-833 Doing an insert with an unknown family throws a NPE in HRS HBASE-810 Prevent temporary deadlocks when, during a scan with write operations, the region splits (Jean-Daniel Cryans via Jim Kellerman) HBASE-843 Deleting and recreating a table in a single process does not work (Jonathan Gray via Jim Kellerman) HBASE-849 Speed improvement in JenkinsHash (Andrzej Bialecki via Stack) HBASE-552 Bloom filter bugs (Andrzej Bialecki via Jim Kellerman) HBASE-762 deleteFamily takes timestamp, should only take row and family. Javadoc describes both cases but only implements the timestamp case. (Jean-Daniel Cryans via Jim Kellerman) HBASE-768 This message 'java.io.IOException: Install 0.1.x of hbase and run its migration first' is useless (Jean-Daniel Cryans via Jim Kellerman) HBASE-826 Delete table followed by recreation results in honked table HBASE-834 'Major' compactions and upper bound on files we compact at any one time (Billy Pearson via Stack) HBASE-836 Update thrift examples to work with changed IDL (HBASE-697) (Toby White via Stack) HBASE-854 hbase-841 broke build on hudson? - makes sure that proxies are closed. (Andrew Purtell via Jim Kellerman) HBASE-855 compaction can return less versions then we should in some cases (Billy Pearson via Stack) HBASE-832 Problem with row keys beginnig with characters < than ',' and the region location cache HBASE-864 Deadlock in regionserver HBASE-865 Fix javadoc warnings (Rong-En Fan via Jim Kellerman) HBASE-872 Getting exceptions in shell when creating/disabling tables HBASE-868 Incrementing binary rows cause strange behavior once table splits (Jonathan Gray via Stack) HBASE-877 HCM is unable to find table with multiple regions which contains binary (Jonathan Gray via Stack) IMPROVEMENTS HBASE-801 When a table haven't disable, shell could response in a "user friendly" way. HBASE-816 TableMap should survive USE (Andrew Purtell via Stack) HBASE-812 Compaction needs little better skip algo (Daniel Leffel via Stack) HBASE-806 Change HbaseMapWritable and RowResult to implement SortedMap instead of Map (Jonathan Gray via Stack) HBASE-795 More Table operation in TableHandler for REST interface: part 1 (Sishen Freecity via Stack) HBASE-795 More Table operation in TableHandler for REST interface: part 2 (Sishen Freecity via Stack) HBASE-830 Debugging HCM.locateRegionInMeta is painful HBASE-784 Base hbase-0.3.0 on hadoop-0.18 HBASE-841 Consolidate multiple overloaded methods in HRegionInterface, HRegionServer (Jean-Daniel Cryans via Jim Kellerman) HBASE-840 More options on the row query in REST interface (Sishen Freecity via Stack) HBASE-874 deleting a table kills client rpc; no subsequent communication if shell or thrift server, etc. (Jonathan Gray via Jim Kellerman) HBASE-871 Major compaction periodicity should be specifyable at the column family level, not cluster wide (Jonathan Gray via Stack) HBASE-465 Fix javadoc for all public declarations HBASE-882 The BatchUpdate class provides, put(col, cell) and delete(col) but no get() (Ryan Smith via Stack and Jim Kellerman) NEW FEATURES HBASE-787 Postgresql to HBase table replication example (Tim Sell via Stack) HBASE-798 Provide Client API to explicitly lock and unlock rows (Jonathan Gray via Jim Kellerman) HBASE-798 Add missing classes: UnknownRowLockException and RowLock which were present in previous versions of the patches for this issue, but not in the version that was committed. Also fix a number of compilation problems that were introduced by patch. HBASE-669 MultiRegion transactions with Optimistic Concurrency Control (Clint Morgan via Stack) HBASE-842 Remove methods that have Text as a parameter and were deprecated in 0.2.1 (Jean-Daniel Cryans via Jim Kellerman) OPTIMIZATIONS Release 0.2.0 - August 8, 2008. 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) HBASE-696 Make bloomfilter true/false and self-sizing HBASE-720 clean up inconsistencies around deletes (Izaak Rubin via Stack) HBASE-796 Deprecates Text methods from HTable (Michael Gottesman 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 HBASE-726 Unit tests won't run because of a typo (Sebastien Rainville via Stack) HBASE-727 Client caught in an infinite loop when trying to connect to cached server locations (Izaak Rubin via Stack) HBASE-732 shell formatting error with the describe command (Izaak Rubin via Stack) HBASE-731 delete, deletefc in HBase shell do not work correctly (Izaak Rubin via Stack) HBASE-734 scan '.META.', {LIMIT => 10} crashes (Izaak Rubin via Stack) HBASE-736 Should have HTable.deleteAll(String row) and HTable.deleteAll(Text row) (Jean-Daniel Cryans via Stack) HBASE-740 ThriftServer getting table names incorrectly (Tim Sell via Stack) HBASE-742 Rename getMetainfo in HTable as getTableDescriptor HBASE-739 HBaseAdmin.createTable() using old HTableDescription doesn't work (Izaak Rubin via Stack) HBASE-744 BloomFilter serialization/deserialization broken HBASE-742 Column length limit is not enforced (Jean-Daniel Cryans via Stack) HBASE-737 Scanner: every cell in a row has the same timestamp HBASE-700 hbase.io.index.interval need be configuratable in column family (Andrew Purtell via Stack) HBASE-62 Allow user add arbitrary key/value pairs to table and column descriptors (Andrew Purtell via Stack) HBASE-34 Set memcache flush size per column (Andrew Purtell via Stack) HBASE-42 Set region split size on table creation (Andrew Purtell via Stack) HBASE-43 Add a read-only attribute to columns (Andrew Purtell via Stack) HBASE-424 Should be able to enable/disable .META. table HBASE-679 Regionserver addresses are still not right in the new tables page HBASE-758 Throwing IOE read-only when should be throwing NSRE HBASE-743 bin/hbase migrate upgrade fails when redo logs exists HBASE-754 The JRuby shell documentation is wrong in "get" and "put" (Jean-Daniel Cryans via Stack) HBASE-756 In HBase shell, the put command doesn't process the timestamp (Jean-Daniel Cryans via Stack) HBASE-757 REST mangles table names (Sishen via Stack) HBASE-706 On OOME, regionserver sticks around and doesn't go down with cluster (Jean-Daniel Cryans via Stack) HBASE-759 TestMetaUtils failing on hudson HBASE-761 IOE: Stream closed exception all over logs HBASE-763 ClassCastException from RowResult.get(String) (Andrew Purtell via Stack) HBASE-764 The name of column request has padding zero using REST interface (Sishen Freecity via Stack) HBASE-750 NPE caused by StoreFileScanner.updateReaders HBASE-769 TestMasterAdmin fails throwing RegionOfflineException when we're expecting IllegalStateException HBASE-766 FileNotFoundException trying to load HStoreFile 'data' HBASE-770 Update HBaseRPC to match hadoop 0.17 RPC HBASE-780 Can't scan '.META.' from new shell HBASE-424 Should be able to enable/disable .META. table HBASE-771 Names legal in 0.1 are not in 0.2; breaks migration HBASE-788 Div by zero in Master.jsp (Clint Morgan via Jim Kellerman) HBASE-791 RowCount doesn't work (Jean-Daniel Cryans via Stack) HBASE-751 dfs exception and regionserver stuck during heavy write load HBASE-793 HTable.getStartKeys() ignores table names when matching columns (Andrew Purtell and Dru Jensen via Stack) HBASE-790 During import, single region blocks requests for >10 minutes, thread dumps, throws out pending requests, and continues (Jonathan Gray via Stack) 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) HBASE-631 HTable.getRow() for only a column family (Jean-Daniel Cryans via Stack) HBASE-731 Add a meta refresh tag to the Web ui for master and region server (Jean-Daniel Cryans via Stack) HBASE-735 hbase shell doesn't trap CTRL-C signal (Jean-Daniel Cryans via Stack) HBASE-730 On startup, rinse STARTCODE and SERVER from .META. (Jean-Daniel Cryans via Stack) HBASE-738 overview.html in need of updating (Izaak Rubin via Stack) HBASE-745 scaling of one regionserver, improving memory and cpu usage (partial) (LN via Stack) HBASE-746 Batching row mutations via thrift (Tim Sell via Stack) HBASE-772 Up default lease period from 60 to 120 seconds HBASE-779 Test changing hbase.hregion.memcache.block.multiplier to 2 HBASE-783 For single row, single family retrieval, getRow() works half as fast as getScanner().next() (Jean-Daniel Cryans via Stack) HBASE-789 add clover coverage report targets (Rong-en Fan 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 HBASE-747 Add a simple way to do batch updates of many rows (Jean-Daniel Cryans via JimK) HBASE-733 Enhance Cell so that it can contain multiple values at multiple timestamps HBASE-511 Do exponential backoff in clients on NSRE, WRE, ISE, etc. (Andrew Purtell via Jim Kellerman) 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