Clone Tools
  • last updated 17 mins ago
Constraints: committers
Constraints: files
Constraints: dates
Move Pregelix and Hivesterix codebase to new repositories: 1. Move Pregelix codebase to; 2. Move Hivesterix codebase to .

Change-Id: Iede698fcb92a0ad0a7a4918ea69b54886fd64fc7


Tested-by: Jenkins <>

Reviewed-by: Ian Maxon <>

    • -37
    • +0
    • -54
    • +0
    • -55
    • +0
  1. … 943 more files in changeset.
Support big vertex in Pregelix. --For those vertice beyond page size, we store them on HDFS as immutable files. --Updates on those big vertice will trigger creations of new immutable files.

Change-Id: I6b6f0528b6b5360c96dcdace1fa360d42c517f22


Tested-by: Jenkins <>

Reviewed-by: Pouria Pirzadeh <>

  1. … 16 more files in changeset.
Several major changes in hyracks: -- reduced CC/NC communications for reporting partition request and availability; partition request/availability are only reported for the case of send-side materialized (without pipelining) policies in case of task re-attempt. -- changed buffer cache to dynamically allocate memory based on needs instead of pre-allocating -- changed each network channel to lazily allocate memory based on needs, and changed materialized connectors to lazily allocate files based on needs -- changed several major CCNCCFunctions to use non-java serde -- added a sort-based group-by operator which pushes group-by aggregations into an external sort -- make external sort a stable sort

1,3,and 4 is to reduce the job overhead.

2 is to reduce the unecessary NC resource consumptions such as memory and files.

5 and 6 are improvements to runtime operators.

One change in algebricks:

-- implemented a rule to push group-by aggregation into sort, i.e., using the sort-based gby operator

Several important changes in pregelix:

-- remove static states in vertex

-- direct check halt bit without deserialization

-- optimize the sort algorithm by packing yet-another 2-byte normalized key into the tPointers array

Change-Id: Id696f9a9f1647b4a025b8b33d20b3a89127c60d6


Tested-by: Jenkins <>

Reviewed-by: Till Westmann <>

    • -0
    • +57
    • -0
    • +57
    • -11
    • +0
  1. … 269 more files in changeset.
support heterogenous cluster

    • -1
    • +6
  1. … 36 more files in changeset.
use Counters as partial value to simplify HadoopCountersAggregator

add support for Hadoop Counters via job.setCounterAggregatorClass

The PregelixJob.setCounterAggregatorClass sets up a (user-specified)

global aggregator and an iterationComplete hook to save Counter values.

The user-specified Counter-based aggregator (must extend

HadoopCountersAggregator) is saved to HDFS in each iteration and should

be restart/snapshot-aware.

The usage for setting up counters is to make a call to

job.setCounterAggregatorClass. After job completion, the Counters may

be retrieved from HDFS using BspUtils.getCounters(job).

Note that there is currently only one spot for iterationComplete hooks

and this behavior occupies it.

    • -0
    • +33
    • -0
    • +54
  1. … 6 more files in changeset.
add an "iteration complete" hook for aggregation/reporting across iterations

This commit allows the user to specify a class which will be called upon

completion of each pregelix iteration. This allows us to perform a user-

specified action between iterations.

As an example, a PerIterationGlobalAggregatesHook is provided which

saves the complete set of global aggregator states from every iteration,

allowing the user to observe aggregates from all iterations.

The default hook does nothing.

The hook instance is attached directly to the PregelixJob so that it can

be retrieved by the Driver's caller.

    • -0
    • +32
  1. … 5 more files in changeset.
fix NPE when no custom aggregator is set

allow global aggregators to be specified in xml

explicitly setting the aggregator in the PregelixJob constructors would

override any values read in from the conf's resources.

Instead, this commit doesn't set the conf explicitly and instead

specifies an array of aggregator class names which will always be in

place when `getGlobalAggregatorClasses` is called.

  1. … 1 more file in changeset.
add the dyanmic optimization skeleton

  1. … 4 more files in changeset.
support multiple user-defined global aggregators

  1. … 34 more files in changeset.
fix file write race condition

  1. … 23 more files in changeset.
turn the default configuration to be variable-sized vertex

  1. … 10 more files in changeset.
make failure-recovery work in multi-JVM test

  1. … 6 more files in changeset.
set the test checkpointing peroid to be 2

fix fault-tolerance and error reporting to handle disk failures

  1. … 30 more files in changeset.
1. fix the node failure scenario in job scheduler; 2. add fault-tolerance support and tests in pregelix

  1. … 20 more files in changeset.
fix the checkpoint writing for vertex checkpointing and message checkpointing

  1. … 4 more files in changeset.
support large-size global aggreate values

  1. … 22 more files in changeset.
implemented checkpoint read

    • -0
    • +35
  1. … 26 more files in changeset.
add vertex checkpointing support

    • -0
    • +29
  1. … 8 more files in changeset.
add runtime checks to improve pregelix debug-ability

  1. … 4 more files in changeset.
merge from zheilbron/hyracks_msr

  1. … 287 more files in changeset.
use hadoop's vlong and fix driver's re-attempt to be 1

  1. … 2 more files in changeset.
addd partition early termination support

    • -0
    • +64
  1. … 11 more files in changeset.
address Vinayak's comments on open/close of vertex

  1. … 9 more files in changeset.
making test cases smaller

  1. … 10 more files in changeset.
add message overflow support

  1. … 86 more files in changeset.
add LSM support in pregelix

  1. … 15 more files in changeset.
add the support for customized partitioner

    • -0
    • +35
  1. … 14 more files in changeset.