You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by Marc <ph...@apache.org> on 2017/10/17 17:27:45 UTC

Change of persistent repo in MiNiFi C++

Hello,
 In preparation of solidifying some of our persistent storage code we've
moved from LevelDB to RocksDB as the default persistent storage mechanism.
There should be little change for you other than the installation of
RocksDB. The net benefit will be improved reliability and maintainability
of the dependency's code base.

If you do not wish to install this dependency or your distro doesn't have
RocksDB available in a public repo, our build process will use the version
provided in the third party directory and include the library into the
static library. This will not install RocksDB, but will increase build
times when RocksDB needs to be rebuilt. It is advised that you install
RocksDB from source or your distro's public repos.

To install RocksDB

Ubuntu

sudo apt-get install librocksdb4.1 librocksdb-dev

MacOSX

brew install rocksdb

For CENTOS there does not appear to be a public repo with RocksDB, so
please follow the instructions the RocksDB install to install it
permanently and avoid long build times.

https://github.com/facebook/rocksdb/blob/master/INSTALL.md

Finally, if you wish to avoid using system libraries and build our version
of RocksDB, you can always specify BUILD_ROCKSDB=ON as a variable to CMAKE.
You can also DISABLE_ROCKSDB , but this will default to using volatile
repositories.
Please let me know if you have any questions.
Marc

Re: Change of persistent repo in MiNiFi C++

Posted by Andy Christianson <ac...@hortonworks.com>.
Mark,

Nice work on the port to RocksDB. Are there any positive/negative runtime performance or resource usage implications of the change?

Regards,

Andy

On 10/17/17, 1:28 PM, "Marc" <ph...@apache.org> wrote:

    Hello,
     In preparation of solidifying some of our persistent storage code we've
    moved from LevelDB to RocksDB as the default persistent storage mechanism.
    There should be little change for you other than the installation of
    RocksDB. The net benefit will be improved reliability and maintainability
    of the dependency's code base.
    
    If you do not wish to install this dependency or your distro doesn't have
    RocksDB available in a public repo, our build process will use the version
    provided in the third party directory and include the library into the
    static library. This will not install RocksDB, but will increase build
    times when RocksDB needs to be rebuilt. It is advised that you install
    RocksDB from source or your distro's public repos.
    
    To install RocksDB
    
    Ubuntu
    
    sudo apt-get install librocksdb4.1 librocksdb-dev
    
    MacOSX
    
    brew install rocksdb
    
    For CENTOS there does not appear to be a public repo with RocksDB, so
    please follow the instructions the RocksDB install to install it
    permanently and avoid long build times.
    
    https://github.com/facebook/rocksdb/blob/master/INSTALL.md
    
    Finally, if you wish to avoid using system libraries and build our version
    of RocksDB, you can always specify BUILD_ROCKSDB=ON as a variable to CMAKE.
    You can also DISABLE_ROCKSDB , but this will default to using volatile
    repositories.
    Please let me know if you have any questions.
    Marc