You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by GitBox <gi...@apache.org> on 2019/04/30 01:47:16 UTC

[GitHub] [accumulo-website] ctubbsii commented on a change in pull request #176: Create code overview page in 2.0 manual

ctubbsii commented on a change in pull request #176: Create code overview page in 2.0 manual
URL: https://github.com/apache/accumulo-website/pull/176#discussion_r279594637
 
 

 ##########
 File path: _docs-2/troubleshooting/code.md
 ##########
 @@ -0,0 +1,65 @@
+---
+title: Codebase Overview
+category: troubleshooting
+order: 7
+---
+
+If you are trying to troubleshoot an Accumulo problem, you should first try and find help within Accumulo's documentation. The Accumulo
+website's [search tool](https://accumulo.apache.org/search/) can help in finding relevant documentation.
+
+If you cannot find relevant documentation for your problem, you might want to review Accumulo's code to learn more about the code that
+is causing the problem and find a potential solution for it. This documentation provides an overview of Accumulo's codebase to get you
+started.
+
+## Master
+
+The [Master] has the following responsibilities:
+
+  * [detect and respond][update] to [TabletServer] failures
+  * assign and balance tablets to Tablet Servers using a [TabletBalancer]
+  * handle table creation, alteration and deletion requests from clients using the [TableManager]
+  * coordinate changes to write-ahead logs using the [WalStateManager].
+  * report general status
+
+## Metadata Table
+
+  * read using [MetaDataTableScanner]
+  * modified using [MetadataTableUtil]
+
+## Tablet Server
+
+The [TabletServer] has the following responsiblities:
+
+  * [receives writes] from clients
+  * [retrieves] the [Tablet] that should be written to
+  * [persists writes] to a write-ahead log using [TabletServerLogger]
+  * sorts new key/value pairs in memory
+  * periodically [flush] sorted key/value pairs to new RFiles in HDFS
+  * responds to reads from clients and form a sorted merge view of all
+    key/value pairs from all files & memory
+  * perform recovery of a [Tablet] that was previously on a server that failed
+    and reapply any writes found in the write-ahead log to the tablet
+
+## Garbage Collector
+
+The [GarbageCollector] has the following repsonsibilities:
+
+  * [identify RFiles] in HDFS that are no longer needed and delete them
+  * multiple garbage collectors can be run to provide hot-standby support
+
+[Master]: {% ghcu server/master/src/main/java/org/apache/accumulo/master/Master.java %}
+[update]: {% ghcu server/master/src/main/java/org/apache/accumulo/master/Master.java#L1332 %}
+[retrieves]: {% ghcu server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java#L1251 %}
 
 Review comment:
   Pointing to specific line numbers is going to bite us as edits are made. Are these pointing to a tag or other fixed blob?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services