Skip to content
Pravega - Streaming as a new software defined storage primitive
Branch: master
Clone or download
shrids and tkaitchuck Issue 3465: Fix Segment comparision check in CommandEncoder.
Fix Segment comparison check in CommandEncoder to use String.equals()

Signed-off-by: Sandeep <>
Latest commit c0042ef Mar 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Issue 2752: Update PR template to give some hints on the different se… Aug 1, 2018
bindings/src Issue 2954: Upgrade Zookeeper, Bookkeeper, Netty, GRPC, Guava, and ot… Jan 28, 2019
checkstyle Issue 489: Standardize Controller Config (#3406) Mar 7, 2019
client Issue 3341: Fix javadoc warnings (#3365) Mar 1, 2019
controller Issue 3458: Controller Metrics Config Fix (#3459) Mar 14, 2019
docker Issue #3391: Fix openjdk:8-jre-alpine to always use 181 java subversi… Mar 11, 2019
segmentstore Issue 3412: Table Segment Metrics (#3415) Mar 6, 2019
shared Issue 3465: Fix Segment comparision check in CommandEncoder. Mar 18, 2019
test Issue 3471: MetadataScalability test does future.await which can inco… Mar 18, 2019
.codecov.yml Issue 2228: (Segment Store) Admin Tools (#2256) Mar 1, 2018
.gitignore Issue 2885: Add .nb-gradle to .gitignore (#2886) Sep 7, 2018
.travis.yml Issue 1973: Update code of conduct (#1979) Oct 24, 2017
HEADER License fix for Apache 2.0 License (#1286) May 10, 2017
LICENSE Initial commit Jul 11, 2016
PravegaGroup.json Issue 489: Standardize Controller Config (#3406) Mar 7, 2019
build.gradle Issue 489: Standardize Controller Config (#3406) Mar 7, 2019
gradlew License fix for Apache 2.0 License (#1286) May 10, 2017

Pravega Build Status codecov License Version

Pravega is an open source distributed storage service implementing Streams. It offers Stream as the main primitive for the foundation of reliable storage systems: a high-performance, durable, elastic, and unlimited append-only byte stream with strict ordering and consistency.

To learn more about Pravega, visit


  • Java 8+

Building Pravega

Checkout the source code:

git clone
cd pravega

Build the pravega distribution:

./gradlew distribution

Install pravega jar files into the local maven repository. This is handy for running the pravega-samples locally against a custom version of pravega.

./gradlew install

Running unit tests:

./gradlew test

Setting up your IDE

Pravega uses Project Lombok so you should ensure you have your IDE setup with the required plugins. Using IntelliJ is recommended.

To import the source into IntelliJ:

  1. Import the project directory into IntelliJ IDE. It will automatically detect the gradle project and import things correctly.
  2. Enable Annotation Processing by going to Build, Execution, Deployment -> Compiler > Annotation Processors and checking 'Enable annotation processing'.
  3. Install the Lombok Plugin. This can be found in Preferences -> Plugins. Restart your IDE.
  4. Pravega should now compile properly.

For eclipse, you can generate eclipse project files by running ./gradlew eclipse.


The latest pravega releases can be found on the Github Release project page.

Quick Start

Read Getting Started page for more information, and also visit sample-apps repo for more applications.

Running Pravega

Pravega can be installed locally or in a distributed environment. The installation and deployment of pravega is covered in the Running Pravega guide.


Don’t hesitate to ask! Contact the developers and community on the mailing lists or on slack if you need any help. Open an issue if you found a bug on Github Issues.


The Pravega documentation of is hosted on the website: or in the documentation directory of the source code.


Become one of the contributors! We thrive to build a welcoming and open community for anyone who wants to use the system or contribute to it. Here we describe how to contribute to Pravega! You can see the roadmap document here.


Pravega is 100% open source and community-driven. All components are available under Apache 2 License on GitHub.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.