keith-turner 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_r279886372
########## File path: _docs-2/troubleshooting/code.md ########## @@ -0,0 +1,69 @@ +--- +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 Tables + + * Accumulo has two metadata tables + * `accumulo.metadata` table (id: !0) contains metadata for user tables + * `accumulo.root` table (id: +r) contains metadata for `accumulo.metadata` + * metadata for the `accumulo.root` table is stored in ZooKeeper + * tables are read using [MetaDataTableScanner] + * tables are 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 Review comment: Should add compactions to the list. Could also add caching and bulk import. ---------------------------------------------------------------- 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: [email protected] With regards, Apache Git Services
