You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2015/05/18 21:58:17 UTC

svn commit: r1680081 - /accumulo/site/trunk/content/release_notes/1.7.0.mdtext

Author: kturner
Date: Mon May 18 19:58:17 2015
New Revision: 1680081

URL: http://svn.apache.org/r1680081
Log:
ACCUMULO-3737 added section about API to README

Modified:
    accumulo/site/trunk/content/release_notes/1.7.0.mdtext

Modified: accumulo/site/trunk/content/release_notes/1.7.0.mdtext
URL: http://svn.apache.org/viewvc/accumulo/site/trunk/content/release_notes/1.7.0.mdtext?rev=1680081&r1=1680080&r2=1680081&view=diff
==============================================================================
--- accumulo/site/trunk/content/release_notes/1.7.0.mdtext (original)
+++ accumulo/site/trunk/content/release_notes/1.7.0.mdtext Mon May 18 19:58:17 2015
@@ -112,6 +112,21 @@ were also added to the shell to specify
 specify an arbitraty compaction strategy is mutually exclusive with the file selection 
 options and file creation options.
 
+### API Clarification
+
+The declared API in 1.6.x was incomplete.   Some important classes like ColumnVisibility were not declared as Accumulo API.  
+A lot of work was done under [ACCUMULO-3657][ACCUMULO-3657] to correct the API statement and clean up the API.  The expanded 
+and simplified API statement is in the [README][readme].
+
+In some places in the API, non API types were used.  Ideally public API members would only use public API types.  A tool called 
+[APILyzer][apilyzer] was created to find all API members that used non-API types.  Many of the violations found by this tool were deprecated to clearly communicate that a non API type was used.  
+For example, a few public API methods returned a class called KeyExtent.  KeyExtent was never intended to be in the public API, 
+it contains a lot of code related to Accumulo internals.   KeyExtent and the API methods returning it were deprecated.  These 
+were replaced with a new way of identifying tablets that does not expose internals.  Deprecating a type like this from the API 
+makes the API more stable and makes it easier for contributors to change Accumulo internals w/o impacting the API.
+
+Created an Accumulo API regular expression for use with checkstyle.  Starting with 1.7.0, projects building on Accumulo can use this checkstyle rule to ensure they are only using Accumulo's public API.  The regular expression can be found in the [README][readme].
+
 ### Balancing Groups of Tablets
 
 By default Accumulo evenly spreads each tables tablets across a cluster.  In some 
@@ -236,12 +251,15 @@ and, in HDFS High-Availability instances
 [18]: https://issues.apache.org/jira/browse/ACCUMULO-3316
 
 [ACCUMULO-1798]: https://issues.apache.org/jira/browse/ACCUMULO-1798
+[ACCUMULO-2815]: https://issues.apache.org/jira/browse/ACCUMULO-2815
 [ACCUMULO-3134]: https://issues.apache.org/jira/browse/ACCUMULO-3134
 [ACCUMULO-3439]: https://issues.apache.org/jira/browse/ACCUMULO-3439
+[ACCUMULO-3657]: https://issues.apache.org/jira/browse/ACCUMULO-3657
+[ACCUMULO-378]: https://issues.apache.org/jira/browse/ACCUMULO-378
+[apilyzer]: http://code.revelc.net/apilyzer-maven-plugin/
 [group_balancer]: https://blogs.apache.org/accumulo/entry/balancing_groups_of_tablets
-[ACCUMULO-2815]: https://issues.apache.org/jira/browse/ACCUMULO-2815
-[SASL]: http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer
 [GSSAPI]: http://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface
 [kerberos]: http://accumulo.staging.apache.org/1.7/accumulo_user_manual.html#_kerberos
-[ACCUMULO-378]: https://issues.apache.org/jira/browse/ACCUMULO-378
-[replication]: http://accumulo.staging.apache.org/1.7/accumulo_user_manual.html#_replication
\ No newline at end of file
+[readme]: https://github.com/apache/accumulo/blob/8cba8128fbc3238bdd9398cf5c36b7cb6dc3b61d/README.md
+[replication]: http://accumulo.staging.apache.org/1.7/accumulo_user_manual.html#_replication
+[SASL]: http://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer