<commit_before>Hbase Change Log

Trunk (unreleased changes)

  INCOMPATIBLE CHANGES
   HBASE-584   Names in the filter interface are confusing (<NAME> via
               <NAME>) (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. (<NAME> via Stack) 
   HBASE-696   Make bloomfilter true/false and self-sizing

  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-Dan<NAME> 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 <NAME>)
   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 (<NAME> 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
               (<NAME> 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 (<NAME> 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 (<NAME> 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 (<NAME> via <NAME>)
   HBASE-527   RegexpRowFilter does not work when there are columns from 
               multiple families (<NAME> via <NAME>)
   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-<NAME> 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
               (<NAME>in 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
   
  IMPROVEMENTS
   HBASE-559   MR example job to count table rows
   HBASE-596   DemoClient.py (<NAME> 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 <NAME> 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-706   On OOME, regionserver sticks around and doesn't go down with cluster
               (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-720   clean up inconsistencies around deletes (Izaak Rubin via Stack)
   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)

  NEW FEATURES
   HBASE-47    Option to set TTL for columns in hbase
               (<NAME> 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<commit_msg>HBASE-720 clean up inconsistencies around deletes<commit_after>Hbase Change Log

Trunk (unreleased changes)

  INCOMPATIBLE CHANGES
   HBASE-584   Names in the filter interface are confusing (Clint Morgan via
               <NAME>man) (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)

  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-<NAME> 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
               (<NAME> 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 (<NAME>son 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 (<NAME> via <NAME>)
   HBASE-527   RegexpRowFilter does not work when there are columns from 
               multiple families (<NAME> via <NAME>)
   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-<NAME> 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
   
  IMPROVEMENTS
   HBASE-559   MR example job to count table rows
   HBASE-596   DemoClient.py (<NAME> via Stack)
   HBASE-581   Allow adding filters to TableInputFormat (At same time, ensure TIF
               is subclassable) (<NAME> 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 (<NAME> 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-<NAME> 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-<NAME> 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-706   On OOME, regionserver sticks around and doesn't go down with cluster
               (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-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)

  NEW FEATURES
   HBASE-47    Option to set TTL for columns in hbase
               (<NAME> 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
{'fraction_non_alphanumeric': 0.038472268012477495, 'fraction_numerical': 0.03938525525601684, 'mean_word_length': 2.7238643875720085, 'pattern_counts': {'":': 0, '<': 36, '<?xml version=': 0, '>': 40, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '557632', 'n_tokens_mistral': 11972, 'n_tokens_neox': 10610, 'n_words': 4830}