Title: Apache Accumulo Proxy
Notice:    Licensed to the Apache Software Foundation (ASF) under one
           or more contributor license agreements.  See the NOTICE file
           distributed with this work for additional information
           regarding copyright ownership.  The ASF licenses this file
           to you under the Apache License, Version 2.0 (the
           "License"); you may not use this file except in compliance
           with the License.  You may obtain a copy of the License at
           .
             http://www.apache.org/licenses/LICENSE-2.0
           .
           Unless required by applicable law or agreed to in writing,
           software distributed under the License is distributed on an
           "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
           KIND, either express or implied.  See the License for the
           specific language governing permissions and limitations
           under the License.

This module provides proxy server for Apache Accumulo. It enables using languages 
other than Java to interact with the database.

1. Building

The proxy server is built by the Accumulo build process. Read ../README
for more information.

2. Installation

The proxy server is installed during the Accumulo installation process. Read ../README
for more information.

3. Configuration

Please note the proxy server only functions correctly when connected to an 
Accumulo 1.5 instance, or when run standalone in the Mock configuration.

 - Edit the proxy.properties file.
    - Change the useMockInstance value to 'true' if you wish to use an in-memory Mock instance.
    - Change the useMiniAccumulo value to 'true' if you wish to use a Mini Accumulo Cluster.
    - When using a "real" Accumulo instance:
        - Ensure useMockInstance and useMiniAccumulo are both set to 'false'
        - Set the instance name
        - Set the list of ZooKeepers

4. Execution

Run the following command.

 ${ACCUMULO_HOME}/bin/accumulo proxy -p ${ACCUMULO_HOME}/proxy/proxy.properties

5. Clients

You need the language-specific library for Thrift installed to be able to use said Thrift client 
code in that language. In other words, you need to install the Python Thrift library to use the Python 
example. Typically, your operating system's package manager will be able to automatically install
these for you in an expected location such as /usr/lib/python/site-packages/thrift.

An example Java client is incuded with this distribution in the class TestProxyClient. Also the 
unit tests included show how to use the proxy. Normal Accumulo APIs are emulated wherever possible.

Additional client examples can be found in the examples directory. These clients are tested and 
functional; however, the setup for each language is beyond the scope of this document currently.
