Hama Change Log

Release 0.7.2 (unreleased changes)

  NEW FEATURES
 
    HAMA-988: Allow to add additional no-input tasks (edwardyoon)

  BUG FIXES

    HAMA-989: Added condition to ignore Async based test cases for non-linux systems (Behroz Sikander via edwardyoon)
    HAMA-986: There is a missing value when calculating hashcode of AsyncClient (JongYoon Lim via edwardyoon)

  IMPROVEMENTS

    HAMA-978: Netty native transport (JongYoon Lim via edwardyoon)

Release 0.7.1 - March 14, 2016

  NEW FEATURES

    HAMA-900: Added a new strategy to schedule tasks based on round robin scheme (Behroz Sikander via edwardyoon)

  BUG FIXES

    HAMA-982: Vertex.read/writeState() method throws NullPointerException (edwardyoon)
    HAMA-965: Infinite loop because of recursive function call (JongYoon Lim via edwardyoon)
    HAMA-966: NioServerListener doesn't throw any exceptions (JongYoon Lim via edwardyoon)

  IMPROVEMENTS

    HAMA-967: Remove a meaningless checking condition (JongYoon Lim via edwardyoon)

Release 0.7.0 - Jun 14, 2015

  NEW FEATURES

   HAMA-942: DockFile for Hama (Hoseog Lee via edwardyoon)
   HAMA-894: Implement K-core algorithm (Jaegwon Seo via edwardyoon)
   HAMA-907: Add MaxFlow example (Zhengjun via edwardyoon)
   HAMA-915: Add Kryo serializer (edwardyoon)
   HAMA-726: Hama on Mesos (Jeff Fenchel via edwardyoon)
   HAMA-863: Implement SparseVector (Yexi Jiang)

  BUG FIXES

   HAMA-943: java.lang.IllegalAccessError occur at run time when set default "bsp.user.name" (Minho Kim via edwardyoon)
   HAMA-935: Doesn't operate if hostname doesn't match between AppMaster and Zookeeper quorum (Minho Kim via edwardyoon)
   HAMA-931: Make the HAMA base path configurable (Minho Kim via edwardyoon)
   HAMA-930: Add hama-yarn to binary distribution (Minho Kim via edwardyoon)  
   HAMA-848: Refactor YARN module for hadoop 2.x stable version (Minho Kim via edwardyoon)
   HAMA-906: Automatic activation of halted vertices without received messages (edwardyoon)
   HAMA-905: Fix Pi Estimator Example (Martin Illecker)
   HAMA-889: NonDefaultIterator of DenseDoubleVector never reaches the end (Yexi Jiang)
   HAMA-888: Add more test cases for DenseDoubleVector (Yexi Jiang)
   HAMA-885: Semi-Clustering is not producing expected output (Renil J via edwardyoon)

  IMPROVEMENTS
  
   HAMA-939: Refactoring which was implement using out-of-date status response (Minho Kim via edwardyoon)
   HAMA-955: Support UnsafeByteArrayInputStream and UnSafeByteArrayOutputStream (Minho Kim via edwardyoon)
   HAMA-944: Add JSON format option to fastgen command (Minho Kim via edwardyoon)
   HAMA-919: Manage messages per Vertex (edwardyoon)
   HAMA-923: add a toString() method for FloatArrayWritable and TextArrayWritable classes (edwardyoon)
   HAMA-921: Polish doSuperstep() function and VertexMessageIterable class (Anastasis Andronidis)
   HAMA-913: Add RPC implementation using netty(bsmin)  
   HAMA-914: Boolean flag (isCompressed) is required only when runtime compression is enabled (edwardyoon)
   HAMA-910: Web UI Improvement (Victor Lee via edwardyoon)
   HAMA-909: Improve Mesos Scheduler's Fault Tolerance (Jeff Fenchel via edwardyoon)
   HAMA-823: Remove javadoc warnings (Victor Lee via edwardyoon)  
   HAMA-886: Refactoring core.bundle package (edwardyoon)
   HAMA-899: Add getAdjacentPeerNames() that returns the names of locally adjacent peers (edwardyoon)
   HAMA-847: Vertex should provide Counters (edwardyoon)
   HAMA-568: Add faster synchronized collections for message queues (edwardyoon)

Release 0.6.4 - Mar 5, 2014

  NEW FEATURES

   HAMA-864: Fix/improve DoubleVector and DenseDoubleVector (Yexi Jiang)
   HAMA-842: Add persistent queue option to JobConf (edwardyoon)
   HAMA-839: Support NullWritable in Hama Pipes (Martin Illecker)    
   HAMA-837: Add sort behaviour to runtime partitioner (edwardyoon)
   HAMA-827: Add NamedVector (edwardyoon)
   HAMA-822: Add feature transformer interface to improve the power and flexibility of existing machine learning model (Yexi Jiang)
   HAMA-774: CompositeInputFormat in Hama (Martin Illecker)
   HAMA-815: Hama Pipes uses C++ templates (Martin Illecker)  

  BUG FIXES

   HAMA-868: Fix SemiClustering bugs (edwardyoon)
   HAMA-871: NPE when building core module due to gmaven-plugin (Martin Illecker) 
   HAMA-867: HAMA 0.7 doesn't work with HDFS 2X due to lack of libs (Skater Xu via edwardyoon)
   HAMA-862: Handling max tasks exception (edwardyoon)
   HAMA-860: Make aggregators start from the first superstep (Anastasis Andronidis)
   HAMA-857: Graph Combiners is wrongly implemented (edwardyoon)
   HAMA-845: The size() of Spilling Queue returns always numMessagesWritten (edwardyoon)
   HAMA-834: Fix KMeans example (Martin Illecker)
   HAMA-831: Support for multi records with same vertexID (edwardyoon)
   HAMA-830: KMeans and NeuralNetwork doesn't load config file (edwardyoon)
   HAMA-812: In local mode BSPJobClient.close throws Exception (Martin Illecker)
   HAMA-821: Fix bugs in KMeans example and make output more readable (edwardyoon)

  IMPROVEMENTS

   HAMA-880: Check whether input records are in order by vertex ID (edwardyoon)
   HAMA-879: Errors for messages with wrong destination should be more clear (Anastasis Andronidis via edwardyoon)
   HAMA-873: Display counters of job on master's web page (Saisai Shao via edwardyoon)
   HAMA-870: Runtime message compression in Bundle (edwardyoon)
   HAMA-869: Add Cloudera repository in maven pom file (Saisai Shao via edwardyoon)
   HAMA-856: Optimize BSPMessageBundle (edwardyoon)
   HAMA-853: Refactor Outgoing message manager (edwardyoon)
   HAMA-852: Add MessageClass property in BSPJob (Martin Illecker)
   HAMA-843: Message communication overhead between master aggregation and vertex computation supersteps (edwardyoon)
   HAMA-838: Refactor aggregators (Anastasis Andronidis)
   HAMA-783: Improve the InMemory verticesInfo implementations (edwardyoon)
   HAMA-829: Improve code and fix Javadoc warnings in org.apache.hama.pipes (Martin Illecker)
   HAMA-808: Hama Pipes Testcase (Martin Illecker)
   HAMA-828: Improve code, fix typo and modify unclear comment in org.apache.hama.ml.ann package (Yexi Jiang)
   HAMA-699: Add commons module (Martin Illecker)
   HAMA-818: Remove useless comments in GroomServer (edwardyoon)

Release 0.6.3 - October 11, 2013

  NEW FEATURES

   HAMA-807: Make aggregators skip supersteps (Anastasis Andronidis)
   HAMA-800: Hama Pipes Examples (Martin Illecker)
   HAMA-804: Create NeuralNetwork Example (Yexi Jiang)
   HAMA-795: Implement Autoencoder based on NeuralNetwork (Yexi Jiang)
   HAMA-767: Add vertex addition/removal APIs (Anastasis Andronidis via edwardyoon)
   HAMA-594: Semi-Clustering Algorithm Implementation (Renil Jeseph via edwardyoon)

  BUG FIXES

   HAMA-805: Problem initializing pipes in HamaStreaming (Martin Illecker)  
   HAMA-801: Snappy fails on Mac OS with JDK 1.7 (Anastasis Andronidis via tommaso)
   HAMA-789: BspPeer launched fail because port is bound by others (Suraj Menon via edwardyoon)
   HAMA-791: Fix the problem that MultilayerPerceptron fails to learn a good hypothesis sometimes. (Yexi Jiang)
   HAMA-782: The arguments of DoubleVector.slice(int, int) method will mislead the user. (Yexi Jiang)
   HAMA-780: New launched child processes by fault tolerance may not be able to contact each other (kennethxian)
   HAMA-772: When selected KeyValueTextInputFormat, workers get only one value for key (Ikhtiyor Ahmedov via edwardyoon)
   HAMA-776: localQueue is set as Send queue in init function of AbstractMessageManager (kennethxian)
   HAMA-769: Intermediate queue's close method is not called, clean work may be omitted (kennethxian)
   HAMA-771: Determining the count of active vertices (edwardyoon)
   HAMA-777: FunctionFactory does not work when create IdentityFunction (Yexi Jiang)

  IMPROVEMENTS

   HAMA-806: Make the description of NeuralNetwork example more clear (Yexi Jiang)
   HAMA-749: Build for C++ Pipes (Martin Illecker)
   HAMA-796: Add Vector multiply Matrix for DoubleVector as well as DenseDoubleVector. (Yexi Jiang)
   HAMA-770: Use a unified model to represent linear regression, logistic regression, MLP, autoencoder, and deepNets (Yexi Jiang)
   HAMA-671: Clean up Maven build scripts (edwardyoon)
   HAMA-765: Add apply method to Vector/Matrix (Yexi Jiang)
   HAMA-773: Matrix/Vector operation does not validate the input argument (Yexi Jiang)
   
  TASKS

   HAMA-792: Add testing datasets for ML package (Yexi Jiang)

Release 0.6.2 - June 26, 2013

  NEW FEATURES

   HAMA-681: Add Multi Layer Perceptron (Yexi Jiang via edwardyoon)
   HAMA-619: Hama Pipes (Martin Illecker via edwardyoon)

  BUG FIXES

   HAMA-756: Timing issue and file merging algorithm in PartitioningRunner make job fail (MaoYuan Xian via edwardyoon)
   HAMA-755: registerJob of ZKSyncBSPMasterClient makes a useless node in zookeeper (MaoYuan Xian via edwardyoon)
   HAMA-750: Fix bug of comma separated input paths (edwardyoon)

  IMPROVEMENTS

   HAMA-761: Improvement for GraphJobMessage comparation operation (MaoYuan Xian)
   HAMA-760: Add new features to existing Multi Layer Perceptron (Yexi Jiang via edwardyoon)
   HAMA-758: Send message to non-exist vertex makes the job fail (MaoYuan Xian via edwardyoon)
   HAMA-757: The partitioning job output should be un-splitable (MaoYuan Xian via edwardyoon)
   HAMA-754: PartitioningRunner should write raw records to partition files (edwardyoon)
   HAMA-707: BSPMessageBundle should be able to encapsulate messages serialized in ByteBuffer (surajsmenon) 
   HAMA-722: Messaging queue should construct sender and receiver queue (surajsmenon)

Release 0.6.1 - April 01, 2013

  NEW FEATURES

   HAMA-737: Add graph output writer (tjungblut)	   
   HAMA-736: Add one pass graph generator (tjungblut)
   HAMA-722: Messaging queue should construct sender and receiver queue. (surajsmenon)
   HAMA-721: Added spilling queue with combiner. (surajsmenon)
   HAMA-559: Added spilling queue. (surajsmenon)
   HAMA-700: BSPPartitioner should be configurable to be optional and allow input format conversion (surajsmenon)
   HAMA-524: Add SpMV example (Mikalai Parafeniuk via edwardyoon)
   HAMA-658: Add random symmetric sparse matrix generator (edwardyoon)

  BUG FIXES

   HAMA-739: WritableComparable doesn't work with IntWritable (tjungblut) 
   HAMA-716: Splits should be assigned based on PartitionID (edwardyoon)
   HAMA-712: PartitioningRunner should works for multiple input files (surajsmenon via edwardyoon)

  IMPROVEMENTS

   HAMA-740: DiskVerticesInfo are slow due to not buffered writes (tjungblut)
   HAMA-704: Optimization of memory usage during message processing (tjungblut)
   HAMA-735: Tighten the graph API (tjungblut)
   HAMA-714: Align format consistency between examples and generators (edwardyoon)
   HAMA-531: Reimplementation of partitioner (edwardyoon)

Release 0.6 - November 28, 2012

  NEW FEATURES

   HAMA-626: If number of bsp tasks are not specified, the bsp job cannot assume to get all the tasks in the cluster (edwardyoon)
   HAMA-651: Add a gradient descent BSP (Tommaso Teofili) 
   HAMA-601: Hama Streaming (tjungblut)

  BUG FIXES

   HAMA-678: Fix input splitting (tjungblut)
   HAMA-613: Scheduler kills job too silently when out of slots (Yuesheng Hu via edwardyoon)
   HAMA-647: Make the input spliter robustly (Yuesheng Hu via edwardyoon)
   HAMA-635: Number of vertices value is inconsistent among tasks (Yuesheng Hu via tjungblut)
   HAMA-633: Fix CI Failures (tjungblut)
   HAMA-631: Add "commons-httpclient-3.1.jar" (Paul Gyuho Song via edwardyoon)
   HAMA-608: LocalRunner should honor the configured queues (tjungblut)

  IMPROVEMENTS

   HAMA-644: Add getApproximateSize to BSPMessageBundle (edwardyoon)
   HAMA-655: Add Exception handling for parsing of vertex (edwardyoon)
   HAMA-646: Add deleting temporary files method in TestSubmitGraphJob (Yuesheng Hu via edwardyoon)
   HAMA-597: Split a GraphJobRunner into multiple classes (edwardyoon & tjungblut) 
   HAMA-557: Implement Checkpointing service in Hama (surajmenon)
   HAMA-587: Synchronization Client should provide API's to store and retrieve information among peers and BSPMaster (surajmenon)
   HAMA-610: Provision to define the task allocation strategy as a feature of job. (surajmenon)
   HAMA-611: Add loopbackMessage API call for MessageManager (surajmenon)
   HAMA-596: Optimize memory usage of graph job (tjungblut)
   HAMA-599: Improvement of network-based runtime partitioner (edwardyoon)
  
Release 0.5 - April 10, 2012 

  NEW FEATURES

   HAMA-547: Add K-Means to ML package (tjungblut)
   HAMA-591: Improve Pagerank (tjungblut) 
   HAMA-550: Implementation of Bipartite Matching (Apurv Verma via tjungblut)
   HAMA-588: Add voteToHalt() mechanism in Graph API (edwardyoon)
   HAMA-566: Add disk-based queue (tjungblut)
   HAMA-552: Add a sorted message queue (tjungblut)   
   HAMA-556: Graph package to support stopping the interations when the node changes are within the tolerance value as in the case of page rank (tjungblut)
   HAMA-508: Add clean plugin (Mikalai Parafeniuk via edwardyoon)
   HAMA-503: Chainable computations for fault tolerance (tjungblut)
   HAMA-517: Add documentation for Graph package (edwardyoon)
   HAMA-518: Add MinIntCombiner to SSSP example (edwardyoon)
   HAMA-367: Runtime Compression of BSP Messages to Improve the Performance (Apurv Verma via tjungblut)
   HAMA-501: Add Avro RPC (tjungblut)
   HAMA-409: Add basic Graph interfaces and GraphJobRunner (edwardyoon)

  BUG FIXES
   
   HAMA-628: DistributedCache - getLocalCacheFiles returns NULL in Pseudo Distributed Mode (Martin Illecker via tjungblut)
   HAMA-621: Input Splits are not initialized for a job (surajmenon via tjungblut)
   HAMA-595: Fix NullPointerException in Task Scheduler (surajmenon)

  IMPROVEMENTS
   
   HAMA-593: Improve RPC scalability (Mayank Mishra via tjungblut)
   HAMA-584: Change Pagerank IO format to human-readable text for easy debug (tjungblut via edwardyoon)
   HAMA-590: Fix TestSubmitGraphJob tests (tjungblut)
   HAMA-582: Task's error logs should be displayed on client-end when job is failed (edwardyoon)
   HAMA-580: Improve input of graph module (tjungblut)
   HAMA-579: Add multiple aggregators (tjungblut)
   HAMA-576: Improve sendMessages in Vertex (tjungblut)
   HAMA-575: Generify graph package (tjungblut)    
   HAMA-571: Provide graph repair function in GraphJobRunner (tjungblut)
   HAMA-521: Improve message buffering to save memory (Thomas Jungblut via edwardyoon)
   HAMA-494: Remove hard-coded webapp path in HttpServer (edwardyoon)
   HAMA-562: Record Reader/Writer objects should be initialized (edwardyoon)
   HAMA-555: Separate bin and src distributions (edwardyoon)
   HAMA-548: Update 0.23.0-SNAPSHOT to 0.23.1 in pom file of yarn module (edwardyoon)
   HAMA-545: Include the API and other docs in the Hama release (Suraj Menon via edwardyoon)
   HAMA-543: Make best effort to start BSP Task on the host where the input split is located. (Suraj Menon via edwardyoon)
   HAMA-527: Update commons-configuration version (edwardyoon)
   HAMA-499: Refactor clearZKNodes() in BSPMaster (Apurv Verma via tjungblut)
   HAMA-485: Fill Counters with useful information (tjungblut)
   HAMA-497: Switch the trunk to Hadoop 1.0 based (edwardyoon) 
   HAMA-445: Make configurable checkpointing (Suraj Menon via edwardyoon)
   HAMA-498: BSPTask should periodically ping its parent (Suraj Menon via edwardyoon)
   HAMA-513: Move message classes to somewhere from bsp package. (tjungblut)
   HAMA-484: Counters should be accessible in client (tjungblut)    
   HAMA-483: Remove old and deprecated BSP API (tjungblut)    
   HAMA-514: Add maven-gpg-plugin to parent POM file (edwardyoon)
   HAMA-510: Add sendMessageToNeighbors() to Vertex (tjungblut)
   HAMA-502: Message API Improvement (edwardyoon)
  
Release 0.4 - February 5, 2012

  NEW FEATURES

   HAMA-493: Provide text to seq-file utils for graph examples (tjungblut)
   HAMA-491: Add dist module to generate release tarball (edwardyoon)
   HAMA-451: Show Supersteps in waitForCompletion in YARN (tjungblut) 
   HAMA-479: Add Counters to Hama Jobs (edwardyoon) 
   HAMA-454: Add Zookeeper as synchronization service to YARN (tjungblut)
   HAMA-258: Add Input Output system (edwardyoon)
   HAMA-458: Add Message Combiner (edwardyoon)
   HAMA-456: Add getPeerName(int index) and getNumPeers() (edwardyoon)
   HAMA-431: MapReduce NG integration (tjungblut)
   HAMA-449: Add tasks num of Job to web UI (edwardyoon)
   HAMA-428: Create a separate maven module and add basic structure for the Graph (edwardyoon)
   HAMA-398: Add CheckPointer and saving messages for future fault-tolerant systems (ChiaHung Lin via edwardyoon)

  BUG FIXES

    HAMA-506: Error reading child output (edwardyoon)
    HAMA-488: PageRank refactor and fix bugs (tjungblut via edwardyoon)
    HAMA-489: Check port availability before forking child process (edwardyoon)
    HAMA-474: ClusterStatus.getTasks() always returns 0 (edwardyoon)
    HAMA-472: The task should be killed if it fails to initialize (edwardyoon)
    HAMA-465: LocalJobRunner should support combiners and IO (tjungblut)
    HAMA-459: GroomServerStatus.countTask() always returns 1 (edwardyoon)
    HAMA-432: Add statusUpdate() method to BSPPeerProtocol (edwardyoon)
    HAMA-437: PiEstimator is not working in Local Mode (Thomas Jungblut)
    HAMA-387: Fixed barrier synchronization problem (ChiaHung Lin via edwardyoon)
    HAMA-436: Web Interface does not update Superstep Count (Thomas Jungblut)
    HAMA-429: Groom statuses should be reported periodically (ChiaHung Lin via edwardyoon)
    HAMA-421: Maven build issues using proxy (Joe Crobak via edwardyoon)

  IMPROVEMENTS
  
    HAMA-460: Website Improvements (Suraj Menon via edwardyoon)
    HAMA-470: The web UI should display the version of running Hama cluster. (Suraj Menon via edwardyoon)
    HAMA-475: Add unit test for SSSP example (edwardyoon)
    HAMA-481: Add reopen to peer (tjungblut) 
    HAMA-471: Peer names should be sorted by task id (tjungblut)
    HAMA-461: Extract a message service from BSPPeer (tjungblut)
    HAMA-463: Integrate checkpoint with bsp task (chl501)
    HAMA-457: Refactoring of BSPPeerImpl (tjungblut)
    HAMA-448: Restructure BSP API (Thomas Jungblut via edwardyoon)
    HAMA-441: Logging tasks to distinct files (Thomas Jungblut)
    HAMA-423: Improve and Refactor Partitioning in the Examples (Thomas Jungblut via edwardyoon)
    HAMA-422: Update HttpServer to use QueuedThreadPool (edwardyoon)
    HAMA-414: Move BSPPeer constructor into child process (edwardyoon)
    HAMA-419: Migrating site from forrest to maven (edwardyoon)
    
Release 0.3 - July 28, 2011

  NEW FEATURES

    HAMA-395: Add PageRank example (Thomas Jungblut via edwardyoon)
    HAMA-372: Add Web UI for Job monitoring (Thomas Jungblut via edwardyoon)
    HAMA-359: Add shortest path finding example (Thomas Jungblut via edwardyoon)
    HAMA-374: Add LocalBSPRunner (Thomas Jungblut via edwardyoon)
    HAMA-380: Add BSPMessageBundle to reduce RPC overhead (Miklos Erdelyi via edwardyoon)
    
  BUG FIXES
 
    HAMA-405: Fix NoClassDefFoundErrors (Joseph Boyd via edwardyoon)
    HAMA-404: LocalBSPRunner returns wrong superstep numbers (Thomas Jungblut via edwardyoon)
    HAMA-396: BSPPeer's ZK object should be constructed with listed quorum servers (edwardyoon)
    HAMA-391: Refactor Exception.printStackTrace() to LOG.error(Exception) (Thomas Jungblut via edwardyoon)
    HAMA-393: Add environment variable 'HAMA_HEAPSIZE' to hama-env.sh (edwardyoon)
    
  IMPROVEMENTS

    HAMA-394: Refactor 'hama' script and pom.xml (edwardyoon)
    HAMA-388: Add a profile 'forrest' to generate the website (edwardyoon)
    HAMA-392: Make zk session-timeout configurable (edwardyoon)
    HAMA-389: Make the thread pool size user configurable (Thomas Jungblut via edwardyoon)
    HAMA-386: Removing 'System.arraycopy(...)' call from ByteMessage (edwardyoon)
    HAMA-379: Setting default values to job.setNumBspTask() (Thomas Jungblut via edwardyoon)
    HAMA-376: Refactor BSPMaster and GroomServer (ChiaHung Lin via edwardyoon)
    HAMA-382: Refactor HAMA POM (Tommaso Teofili)
    HAMA-362: Re-design a new data structure of BSPMessage (Thomas Jungblut via edwardyoon)   
    HAMA-369: Reduce overhead of local communications (Miklos Erdelyi via edwardyoon)
    HAMA-371: Add a parameter to build.xml to allow developers deciding to reset content in conf files or not when building artifacts (ChiaHung Lin via edwardyoon)

Release 0.2 - June 2, 2011

  NEW FEATURES

    HAMA-339: Add job status command (edwardyoon)
    HAMA-337: Provide Apache Maven building support (Tommaso Teofili via edwardyoon)
    HAMA-304: Allow BSP peers to get a list of all other peers executing tasks of the same job (Filipe Manana via edwardyoon)
    HAMA-267: Add command-line interface for job management (hyunsik via edwardyoon)
    HAMA-279: Add "serialize printing" to examples (edwardyoon)
    HAMA-272: Hama/Zookeeper Integration (edwardyoon)
    HAMA-265: Add example Pi estimatior based on BSP (edwardyoon)
    HAMA-266: Add Ant target to generate the UML class diagrams (edwardyoon)
    HAMA-209: Add example for Cosine Similarity Matrix (edwardyoon)
    HAMA-195: Interface of the bsp (hyunsik via edwardyoon)
    HAMA-185: Finds the eigenvalues and eigenvectors associated with the symmetric matrix A (samuel)
    HAMA-171: Find the maximum absolute row sum using MapReduce (edwardyoon)
    HAMA-174: Compute the transpose of a matrix (edwardyoon)
    HAMA-162: Add Graph using Sparse Matrix (edwardyoon)
    HAMA-151: Add multiplication example of file matrices (edwardyoon)
    HAMA-145: Add privacy policy page (edwardyoon)
    HAMA-83: 2D sqaure blocking for dense matrix multiplication (edwardyoon)
    HAMA-104: Add getNumMap/reduceTasks to HamaConfiguration (edwardyoon)
    HAMA-92: Add subMatrix() to Matrix (edwardyoon)
    HAMA-84: Add a writable comparable for BlockID (edwardyoon) 
    HAMA-81: Add subVector(int i0, int i1) to Vector (edwardyoon)
    Hama-80: Add identity(int m, int n) which returns identity matrix (edwardyoon) 
    HAMA-62: Hama Shell Implementation (samuel via edwardyoon)
    HAMA-61: Load / save matrices from HTable (edwardyoon)
    HAMA-51: Add get/setRowAttribute() method (edwardyoon)
    HAMA-13: Matrix multiplication (edwardyoon)
    HAMA-48: Add getColumn(int column) method which returns column vector (edwardyoon)
    HAMA-49: Add iterator() method to vector (edwardyoon)
    HAMA-43: Color Hama Logo (Morakot via chanwit)
    HAMA-37: Add forrest build to Hudson patch build script (edwardyoon)
    HAMA-34: Hudson/Jira Intergration (edwardyoon)
    HAMA-36: Add svn information to website (edwardyoon)
    HAMA-33: Add set() method (edwardyoon)
    HAMA-30: Add scaling method to Vector (edwardyoon)
    HAMA-25: Add matrix addition example (edwardyoon)
    HAMA-23: Add Hama configuration files (edwardyoon)
    HAMA-6: Add a 'who we are' page (edwardyoon)
    HAMA-7: Add some information for a new comer (edwardyoon)
    HAMA-1: Create the Hama web site (edwardyoon via Ian Holsman)
    HAMA-2: The intial donation of Hama from the google project (edwardyoon)

  IMPROVEMENTS
 
    HAMA-366: Remove unnecessary dependencies (Tommaso Teofili)
    HAMA-365: TestBSPPeer doesn't check if the correct number of messages have been received (Miklos Erdelyi via edwardyoon)
    HAMA-298: Implement the kill method for JobInProgress (edwardyoon)
    HAMA-353: Add "random communication benchmark" tool (edwardyoon)
    HAMA-351: Improvement of lack of info- about the output of examples (edwardyoon)
    HAMA-348: Remove hard-coded javaOpts (edwardyoon)
    HAMA-347: Add implementation of umbilical interface (edwardyoon)
    HAMA-346: Modify MniCluster so that developers can benefit when testing using Junit (ChiaHung Lin via edwardyoon)
    HAMA-340: Implementation of job submit command (edwardyoon)
    HAMA-278: Few minor refactoring (edwardyoon)
    HAMA-336: The all taskid variable's type should be declared as a TaskAttemptID (edwardyoon)
    HAMA-331: Removing JobInProgressListener and adding JobInitThread to BSPMaster (edwardyoon)
    HAMA-334: Removing "java5.home" env key from build script. (edwardyoon)
    HAMA-332: Renaming some members in BSPMaster to follow the Hama terminology (Filipe Manana via edwardyoon)
    HAMA-329: Add taskNum argument to pi estimator (edwardyoon)
    HAMA-313: Remove LocalJobRunner (edwardyoon)
    HAMA-321: Allows user to set the number of tasks (edwardyoon) 
    HAMA-282: Add superstep counter (Filipe Manana via edwardyoon)
    HAMA-327: Add overview for javadoc (edwardyoon)
    HAMA-325: Add package.html to each package and few comments (edwardyoon)
    HAMA-322: JUnit test threads with GroboTestingJUnit (Filipe Manana via edwardyoon)
    HAMA-323: Remove generic warnings (edwardyoon)
    HAMA-254: Add news about rid of MapReduce and Hbase (edwardyoon)
    HAMA-320: Add twitter widget to website (edwardyoon)
    HAMA-300: Refactoring launchTask() method in GroomServer (edwardyoon)
    HAMA-311: Add unit tests for IPC package (edwardyoon)
    HAMA-312: Add serialize printing to ExampleDriver (edwardyoon)
    HAMA-309: Add unit tests for Bytes utilities (edwardyoon)
    HAMA-299: Remove unused field 'task' from GroomServer (edwardyoon)
    HAMA-297: Add missing Apache License header to source files. (edwardyoon)
    HAMA-268: Implement BSPMaster's all methods extended from JobSubmissionProtocol (hyunsik via edwardyoon)
    HAMA-295: Removing HBase dependency (edwardyoon)
    HAMA-294: Change log level of "Got heartbeatResponse.." messages to debug (edwardyoon)
    HAMA-256: Removing M/R and HBase based implementations (edwardyoon)
    HAMA-293: Add starter classes for ZooKeeper, BSPMaster and GroomServer (Filipe Manana via edwardyoon)
    HAMA-286: Task progress should be monitored (eddieyoon)
    HAMA-287: BSPMaster should use the bsp.master.port property when creating its InetSocketAddr instance (Filipe Manana via edwardyoon)
    HAMA-283: Removing duplicate code (Filipe Manana via edwardyoon)
    HAMA-277: Add default number of bsp task (edwardyoon)
    HAMA-273: Implement killJob() method for local job (edwardyoon)
    HAMA-271: Add LocalJobRunner (edwardyoon)
    HAMA-264: Moving BlockID, Pair classes to examples package (edwardyoon)
    HAMA-269: Add getter for serverName to BSPPeerInterface (edwardyoon)
    HAMA-257: Design BSP program code interface (edwardyoon)
    HAMA-261: Remove meaningless unit tests (edwardyoon)
    HAMA-253: Change the blog link url (edwardyoon)
    HAMA-247: Discuss / Refactor HamaMaster and GroomServer (hyunsik)
    HAMA-239: Remove unused class (edwardyoon)
    HAMA-237: Add project blog link on website (edwardyoon)
    HAMA-236: Add recent news on website (edwardyoon)
    HAMA-232: Add file multiplication example (edwardyoon)
    HAMA-226: Add benchmarking tool of eigenvalue operation (edwardyoon)
    HAMA-223: Add simple admin tool for manage the temporary tables (edwardyoon)
    HAMA-202: Replacement for deprecated API of Map/Reduce (edwardyoon)
    HAMA-206: Replacement of JacobiEigenValueMap/Reduce (edwardyoon)
    HAMA-217: Replacement of Block Multiplication Map/Reduce (edwardyoon)
    HAMA-205: Replacement of NormMap/Reduce (edwardyoon)
    HAMA-207: Replacement of Mat-Mat addition Map/Reduce (edwardyoon)
    HAMA-208: Replacement of vector-matrix multiplication MapReduce (edwardyoon)
    HAMA-216: Removing JobManager in util package (edwardyoon)
    HAMA-215: Removing hama shell from version 0.2 (edwardyoon)
    HAMA-204: Replacement of TransposeMap/Reduce (edwardyoon)
    HAMA-213: Replacement of TableReadMapper (edwardyoon)
    HAMA-203: Replacement of RandomMatrixMap/Reduce (edwardyoon)
    HAMA-197: Replacement for deprecated API of Hbase (edwardyoon)
    HAMA-188: Upgrade dependencies for hadoop/hbase 2.0 (edwardyoon)
    HAMA-192: Refactor top-level package (edwardyoon)
    HAMA-189: Update website (edwardyoon)
    HAMA-187: Add matrix subtraction test case (edwardyoon)
    HAMA-186: Add density option for random matrix (edwardyoon)
    HAMA-171: Implementation of Matrix.Norm (samuel)
    HAMA-178: Add example of norm (edwardyoon)
    HAMA-158: Implementation of random sparse matrix (edwardyoon)
    HAMA-164: Example for C = Alpha*B + A (edwardyoon)
    HAMA-154: Combine multi-mapreduce jobs into a single mapreduce job while computing (samuel via edwardyoon)
    HAMA-152: Replace MapWritable to hadoop.io.MapWritable (edwardyoon)
    HAMA-109: Implement add(double alpha, Matrix B) (edwardyoon)
    HAMA-150: Refactor blockingMapRed (edwardyoon)
    HAMA-148: Implement of set(double alpha, Matrix B) (edwardyoon)
    HAMA-100: Implement of set(Matrix B) (edwardyoon)
    HAMA-144: GetProgress during MR over a matrix (samuel)
    HAMA-129: Improving speed of matrix multiplication (edwardyoon)
    HAMA-142: Trunk doesn't work for large matrices (edwardyoon)
    HAMA-143: Improve of random_mapred() (edwardyoon)
    HAMA-138: To order, left pad with zeroes to integer key (edwardyoon)
    HAMA-135, HAMA-137: Refactor mapred, I/O package (edwardyoon)
    HAMA-134: We don't need to fill C with zeros (edwardyoon)
    HAMA-131: Add argument for the number of blocks (edwardyoon)
    HAMA-113: Random matrix generator on map/reduce (edwardyoon)
    HAMA-118: Add getting started page link (edwardyoon)
    HAMA-117: Move bytesToSubMatrix/subMatrixToBytes method to submatrix class from BytesUtil (edwardyoon)
    HAMA-114: Remove unwanted code (edwardyoon)
    HAMA-107: Blocking job should be a map/reduce job (samuel via edwardyoon)
    HAMA-99: Implement setColumn(int column, Vector vector) (edwardyoon)
    HAMA-108: Implement add(int i, int j, double value) (edwardyoon)
    HAMA-103: Reduce an rows of intermediate to improve the multiplication performance (edwardyoon)
    HAMA-88: DenseMatrix.close should not delete the table that are aliased in HamaAdmin. (samuel via edwardyoon)
    HAMA-89: Exception Handling of a ParseException (samuel via edwardyoon)
    HAMA-77: clear the matrices in hbase after quiting the shell (samuel via edwardyoon)
    HAMA-28: Implement Vector.add() method (edwardyoon)
    HAMA-78: Separate Interface and Implementation for HamaAdmin (edwardyoon)
    HAMA-76: Remove load() since it duplicated with constructor (edwardyoon)
    HAMA-74: set the number of map/reduce task on the shell (samuel via edwardyoon)
    HAMA-73: Add setNumMap/ReduceTasks() to HamaConfiguration (edwardyoon)
    HAMA-60: Add an arguments for handle parallel degree to MatrixAddition (edwardyoon)
    HAMA-68: Shell parser JUnit test cases (samuel via edwardyoon)
    HAMA-65: Remove the information of an inactive committers (edwardyoon) 
    HAMA-58: Remove duplicated code (edwardyoon)
    HAMA-56: Add setRow(int row, Vector vector) method to matrix (edwardyoon)
    HAMA-39: IO operations should throws an IOException (edwardyoon)
    HAMA-52: Fixture setup (edwardyoon)
    HAMA-42: Replace ImmutableBytesWritable to IntWritable (edwardyoon)
    HAMA-44: Remove findbugs warnings (edwardyoon)
    HAMA-40: Rename MatrixInterface to Matrix (edwardyoon)
    HAMA-14: Using Java 6 (edwardyoon)
    HAMA-22: Add IRC channel information to website (edwardyoon)
    HAMA-41: Add some tests (edwardyoon)
    HAMA-38: Remove AbstractBase and make a new NumericUtil (edwardyoon)
    HAMA-20: Adding license header to a whole code base
    HAMA-31: Refactor VectorWritable (edwardyoon)
    HAMA-29: Replace Matrix(Conf, Text) to Matrix(Conf, String) (edwardyoon)
    HAMA-27: Replace table.get(Text, Text) to table.get(String, String) (edwardyoon)
    HAMA-12: Matrix interface re-arrangement (edwardyoon)
    HAMA-21: Implement get(int index) method (edwardyoon)
    HAMA-19: Remove vector-norms enum to interface from implementation (edwardyoon)
    HAMA-17: Vector to Writable conversion (edwardyoon)
    HAMA-15: Logo Alignment (edwardyoon) 
    HAMA-10: Refactor the mapred package for the latest version of dependencies (edwardyoon)  
    HAMA-9: Upgrade dependencies (edwardyoon)

  BUG FIXES
  
    HAMA-360: HAMA_MANAGES_ZK option doesn't work (edwardyoon)
    HAMA-355: Intermittent conflicts of enterBarrier() and leaveBarrier() (edwardyoon)
    HAMA-352: Can't send one more messages on to same server in bsp method (edwardyoon)
    HAMA-350: Add task log appender and Fix log4j rootLogger (edwardyoon)
    HAMA-345: Add execution time calculator to Pi job (edwardyoon)
    HAMA-344: Task successfully finished but system re-attempt (edwardyoon)
    HAMA-343: Fix Maven test fails (Tommaso Teofili via edwardyoon)
    HAMA-338: Username and Job-manager states are not collectly displayed (edwardyoon)
    HAMA-330: BSP program doesn't work when the desired tasks smaller than cluster size (edwardyoon)
    HAMA-326: GroomServer should wait until a job finishes (edwardyoon)
    HAMA-324: Removing javadoc warnings and useless libraries (edwardyoon)
    HAMA-322: Make sure failed assertions on test threads are reported (Filipe Manana via edwardyoon)  
    HAMA-316: Renaming and Refactoring methods in BSPPeerInterface (Filipe Manana)
    HAMA-319: groom servers Map in HeartbeatResponse not correctly serialized (Filipe Manana)
    HAMA-317: Remove HBASE_CONF_DIR and HBASE_HEAPSIZE properties (edwardyoon)
    HAMA-315: Uncomment code in checkLocalDirs() (edwardyoon)
    HAMA-314: Remove unnecessary methods from HamaConfiguration (edwardyoon)
    HAMA-307: BSPMaster - job ID counter is not read and updated atomically (Filipe Manana via edward)
    HAMA-305: Redundant use of synchronize keyword (Filipe Manana via edward)
    HAMA-301: Fix unit test fail bug (edwardyoon)
    HAMA-303: slave.host.name is superceded by bsp.peer.hostname (Filipe Manana via edwardyoon)
    HAMA-296: Fix warning about deprecated method (edwardyoon)
    HAMA-291: bsp.groom.port is unnused and superseeded by bsp.peer.port (Filipe Manana via edwardyoon)
    HAMA-288: Typo might lead to null tasks getting assigned to groom servers (Filipe Manana via edwardyoon)
    HAMA-280: Fix warnings (Filipe Manana via edwardyoon)
    HAMA-270: wrong sequence of readFields() of ClusterStatus (hyunsik)
    HAMA-260: Current version command of script is linked unknown class (edwardyoon)
    HAMA-250: Add --no-check-certificate option to 'wget' command lines (edwardyoon)
    HAMA-242: Wrong assignment of default setting inside BSPPeer constructor (hyunsik)
    HAMA-246: Current shell scripts for bsp daemon have several problems. (hyunsik)
    HAMA-238: Example fail when performing sparse matrices addition (edwardyoon)
    HAMA-225: Jacobi iteration is in a infinite loop (edwardyoon)
    HAMA-214: Can't run the examples (edwardyoon)
    HAMA-190: Bug in Matrix-Vector multiplication (edwardyoon)
    HAMA-183: When we construct the matrix, dimensions should be defined. (edwardyoon)
    HAMA-172: Vector.add(Vector v) throw the Index out of bounds exception when they are different (edwardyoon)
    HAMA-169: Vector's first location bug fixed, getNormInf() and getNorm2Robust() are implemented (edwardyoon)
    HAMA-155: When out of index, should throw exception (edwardyoon)
    HAMA-147: Fix typos (edwardyoon)
    HAMA-140: In subMatrix(), Scanner should be closed (edwardyoon)
    HAMA-120: remove findbugs warning in shell package (samuel via edwardyoon)
    HAMA-130: Computing Block's range will miss some cell during blocking (samuel)
    HAMA-126: In random_mapred, (m) should be (m-1) since start from 0. (edwardyoon)
    HAMA-116: ArrayIndexOutOfBoundsException at BlockingMapRed (samuel)
    HAMA-112: DenseMatrix.get(i, j) should returns zero when entry is null (edwardyoon)
    HAMA-106: SubMatrix should be able to get row, column size (edwardyoon)
    HAMA-98: change '~=' operation to use `echo $f | grep 'examples$'` (samuel via edwardyoon)
    HAMA-64: Bytes and Double convert (edwardyoon)
    HAMA-55: Write dimension attributes when job completed (edwardyoon)
    HAMA-54: Split doesn't split by map task num (edwardyoon)
    HAMA-53: NullPointerException on distributed cluster (edwardyoon)
    HAMA-26: hama-formatter.xml should be removed (edwardyoon)  
    HAMA-25: Vector.get() returns double (edwardyoon)
