Apache Falcon (incubating) Change log

Trunk (Unreleased)

  INCOMPATIBLE CHANGES

  NEW FEATURES

    FALCON-102 Add integration tests for feed entity parser for table.
    (Venkatesh Seetharam)

    FALCON-103 Upgrade oozie to 4.0.x. (Venkatesh Seetharam)

    FALCON-96 Hive client to talk to the metastore. (Venkatesh
    Seetharam via Srikanth Sundarrajan)

    FALCON-87 Hive table integration with feed entity. (Venkatesh
    Seetharam via Srikanth Sundarrajan)

    FALCON-86 Hive table integration with cluster entity. (Venaktesh 
    Seetharam via Srikanth Sundarrajan)

    FALCON-88 Add embedded hive and webhcat for integration tests. 
    (Venkatesh Seetharam via Srikanth Sundarrajan)

    FALCON-107 Adding extensions. (Shwetha GS)

    FALCON-62 Falcon compilation with hadoop 2.0 libs. (Shwetha GS
    via Srikanth Sundarrajan)

  IMPROVEMENTS
    FALCON-131 Remove set -e from falcon scripts. (Suresh Srinivas
    via Srikanth Sundarrajan)

    FALCON-69 Exception from ConfigurationChangeListener should fail 
    the API. (Shwetha GS via Srikanth Sundarrajan)

    FALCON-63 Ability to ingest hadoop libs to falcon release package.
    (Suhas Vasu via Shwetha GS)

    FALCON-83 Option to build distributed packages. (Shwetha GS via
    Srikanth Sundarrajan)

    FALCON-73 Remove JUnit dependency as its used only for asserts while 
    TestNG for tests. (Srikanth Sundarrajan)

    FALCON-80 Option in falcon-start to not start embedded activemq.
    (Shwetha GS via Srikanth Sundarrajan)

  OPTIMIZATIONS
    FALCON-67 Remove ant dependency in oozie workflows. (Shwetha GS via
    Srikanth Sundarrajan)

  BUG FIXES
    FALCON-128 Feed replication post processing log mover error. (Shwetha GS)

    FALCON-127 Fix test issues after FALCON-107. (Shwetha GS via Srikanth
    Sundarrajan)

    FALCON-76 Use cluster readonly endpoint for replication source.
    (Suhas Vasu via Shweth GS)

    FALCON-101 mvn release:prepare fails because of build order. (Shwetha GS
    via Srikanth Sundarrajan)

    FALCON-100 Build error with mvn 3.0.4. (Shwetha GS)

    FALCON-43 Add Falcon to Sonar for Analysis. (Srikanth Sundarrajan via
    Shwetha GS)

    FALCON-71 mvn jetty:run doesn't work. (Srikanth Sundarrajan via 
    Shwetha GS)

    FALCON-79 Fix typos in Falcon architecture document. (Suresh Srinivas
    via Srikanth Sundarrajan)

    FALCON-72 Feeds with invalid oozie URI in cluster cannot be deleted.
    (Venkatesh Seetharam vi Shwetha GS)

    FALCON-78 Falcon error when prism on one hadoop version and server 
    on another. (Shwetha GS via Srikanth Sundarrajan)

    FALCON-61 The identifier regex for oozie bundle,coordinator, workflow
    pattern is incorrect. (Suhas V via Srikanth Sundarrajan)

Release Version: 0.3

    FALCON-70 Confirm if v0.3 branch is ready for release as per guideline.
    (Venkatesh Seetharam via Srikanth Sundarrajan)

    FALCON-65 Avoid bundling compilation path dependent configs in artifact
    and allow for config scan to seamlessly fallback to classpath if not found
    in default conf location. (Srikanth Sundarrajan via Venkatesh Seetharam)

    FALCON-58 Gaps in release source / binary tarball. (Srikanth Sundarrajan)

    FALCON-57 Build fails if the source is not in scm. (Srikanth Sundarrajan)

    FALCON-53 Add -incubating to the version. (Jarek Jarcec Cecho via Srikanth
    Sundarrajan)

    FALCON-56 Update Falcon packing to include all source files. (Srikanth
    Sundarrajan)

    FALCON-55 Update suspends old oozie coords. (Shwetha GS via Srikanth 
    Sundarrajan)

    FALCON-52 Main module configured used with jetty:run has issues with app 
    start. (Srikanth Sundarrajan)

    FALCON-30 Enable embedding pig scripts directly in a process. (Venkatesh
    Seetharam via Srikanth Sundarrajan)

    FALCON-47 Falcon Replication should support configurable delays in feed, 
    parallel, timeout and bulk transfer with variable frequency (Shaik Idris
    Ali via Srikanth Sundarrajan)

    FALCON-49 Dependency on oozie-client pulls in hadoop-auth-0.23.1 which 
    is not necessary (Venkatesh Seetharam via Srikanth Sundarrajan)

    FALCON-32 Store test output in file rather then printing all the output
    into the console (Srikanth Sundarrajan via Venkatesh Seetharam)

    FALCON-1 Create packaging and scripts to install and try Apache Falcon
    (Srikanth Sundarrajan via Venkatesh Seetharam)

    FALCON-29 Add ability to tag/classify data sets and processes to enable
    discovery (Venkatesh Seetharam via Srikanth Sundarrajan)

    FALCON-31 File Installation-steps.txt contains old path to repository (Jarek 
    Jarcec Cecho via Srikanth Sundarrajan)

    FALCON-33 Add patch files to RAT ignore list (Jarek Jarcec Cecho via Srikanth
    Sundarrajan)

    FALCON-22 Rename ivory to falcon in project (Venkatesh Seetharam via Srikanth
    Sundarrajan)

    FALCON-19 Bump up the release version to 0.3-SNAPSHOT (Srikanth Sundarrajan 
    via Venkatesh Seetharam)

    FALCON-13 super pom must reflect license, project website, ML and SCM changes 
    post incubation (Venkatesh Seetharam via Srikanth Sundarrajan) 

    FALCON-10 Add findbugs plugin and fix findbugs warnings for project (Venkatesh
    Seetharam via Srikanth Sundarrajan) 


