Apache Tez Change Log
=====================


Release 0.8.1: 2015-10-12

INCOMPATIBLE CHANGES

ALL CHANGES:
  TEZ-2868. Fix setting Caller Context in Tez Examples.
  TEZ-2860. NPE in DAGClientImpl.
  TEZ-2855. Fix a potential NPE while routing VertexManager events.
  TEZ-2758. Remove append API in RecoveryService after TEZ-1909.
  TEZ-2851. Support a way for upstream applications to pass in a caller context to Tez.
  TEZ-2859. TestMergeManager.testLocalDiskMergeMultipleTasks failing
  TEZ-2858. Stop using System.currentTimeMillis in TestInputReadyTracker.
  TEZ-2857. Fix flakey tests in TestDAGImpl.
  TEZ-2836. Avoid setting framework/system counters for tasks running in threads.
  TEZ-2398. Flaky test: TestFaultTolerance
  TEZ-2833. Dont create extra directory during ATS file download
  TEZ-2834. Make Tez preemption resilient to incorrect free resource reported
  by YARN
  TEZ-2775. Improve and consolidate logging in Runtime components.
  TEZ-2097. TEZ-UI Add dag logs backend support
  TEZ-2812. Preemption sometimes does not respect heartbeats between preemptions
  TEZ-814.  Improve heuristic for determining a task has failed outputs
  TEZ-2832. Support tests for both SimpleHistory logging and ATS logging
  TEZ-2827. Increase timeout for TestFetcher testInputAttemptIdentifierMap
  TEZ-2774. Improvements and cleanup of logging for the AM and parts of the runtme.
  TEZ-2825. Report progress in terms of completed tasks to reduce load on AM for Tez UI
  TEZ-2812. Tez UI: Update task & attempt tables while in progress.
  TEZ-2786. Tez UI: Update vertex, task & attempt details page while in progress.
  TEZ-2612. Support for showing allocation delays due to internal preemption
  TEZ-2808. Race condition between preemption and container assignment
  TEZ-2807. Log data in the finish event instead of the start event
  TEZ-2799. SimpleHistoryParser NPE
  TEZ-2643. Minimize number of empty spills in Pipelined Sorter
  TEZ-2783. Refactor analyzers to extend TezAnalyzerBase
  TEZ-2784. optimize TaskImpl.isFinished()
  TEZ-2788. Allow TezAnalyzerBase to parse SimpleHistory logs
  TEZ-2782. VertexInfo.getAvgExecutionTimeInterval throws NPE when task does not have any valid attempts info
  TEZ-2778. Improvements to handle multiple read errors with complex DAGs
  TEZ-2768. Log a useful error message when the summary stream cannot be closed when shutting
  down an AM.
  TEZ-2745. ClassNotFoundException of user code should fail dag
  TEZ-2754. Tez UI: StartTime & EndTime is not displayed with right format in Graphical View
  TEZ-2752. logUnsuccessful completion in Attempt should write original finish
  time to ATS
  TEZ-2755. Fix findbugs warning in TezClient
  TEZ-2767. Make TezMxBeanResourceCalculator the default resource calculator.
  TEZ-2765. Change Xmlwriter to use defaultValue instead of value tag.
  TEZ-2750. Shuffle may not shutdown in case of a fetch failure, causing it to hang.
  TEZ-2294. Add tez-site-template.xml with description of config properties.
  TEZ-2757. Fix download links for Tez releases.
  TEZ-2742. VertexImpl.finished() terminationCause hides member var of the
  same name
  TEZ-2747. Update master to reflect 0.8.0-alpha release.
  TEZ-2662. Provide a way to check whether AM or task opts are valid and error if not.
  TEZ-2739. Improve handling of read errors in critical path analyzer

Release 0.8.0-alpha: 2015-09-01

INCOMPATIBLE CHANGES
  TEZ-2048. Remove VertexManagerPluginContext.getTaskContainer()
  TEZ-2565. Consider scanning unfinished tasks in VertexImpl::constructStatistics to reduce merge overhead.
  TEZ-2468. Change the minimum Java version to Java 7.

ALL CHANGES:
  TEZ-2749. TaskInfo in history parser should not depend on the apache directory project. Fix master build against hadoop-2.4
  TEZ-2748. Fix master build against hadoop-2.2. 
  TEZ-2743. Fix TezContainerLauncher logging tokens.
  TEZ-2708. Rename classes and variables post TEZ-2003 changes.
  TEZ-2740. Create a reconfigureVertex alias for deprecated
  setVertexParallelism API
  TEZ-2690. Add critical path analyser
  TEZ-2734. Add a test to verify the filename generated by OnDiskMerge.
  TEZ-2732. DefaultSorter throws ArrayIndex exceptions on 2047 Mb size sort buffers
  TEZ-2687. ATS History shutdown happens before the min-held containers are released
  TEZ-2629. LimitExceededException in Tez client when DAG has exceeds the default max counters
  TEZ-2730. tez-api missing dependency on org.codehaus.jettison for json.
  TEZ-2719. Consider reducing logs in unordered fetcher with shared-fetch option
  TEZ-2646. Add scheduling casual dependency for attempts
  TEZ-2647. Add input causality dependency for attempts
  TEZ-2633. Allow VertexManagerPlugins to receive and report based on attempts
  instead of tasks
  TEZ-2650. Timing details on Vertex state changes
  TEZ-2699. Internalize strings in ATF parser
  TEZ-2701. Add time at which container was allocated to attempt
  TEZ-2683. TestHttpConnection::testAsyncHttpConnectionInterrupt fails in certain environments.
  TEZ-2692. bugfixes & enhancements related to job parser and analyzer.
  TEZ-2663. SessionNotRunning exceptions are wrapped in a ServiceException from a dying AM.
  TEZ-2630. TezChild receives IP address instead of FQDN.
  TEZ-2684. ShuffleVertexManager.parsePartitionStats throws IllegalStateException: Stats should be initialized.
  TEZ-2172. FetcherOrderedGrouped using List to store InputAttemptIdentifier can lead to some inefficiency during remove() operation.
  TEZ-2613. Fetcher(unordered) using List to store InputAttemptIdentifier can lead to some inefficiency during remove() operation.
  TEZ-2645. Provide standard analyzers for job analysis.
  TEZ-2627. Support for Tez Job Priorities.
  TEZ-2623. Fix module dependencies related to hadoop-auth.
  TEZ-2464. Move older releases to dist archive.
  TEZ-2239. Update Tez UI docs to explain how to configure history url for YARN.
  TEZ-2602. Throwing EOFException when launching MR job.
  TEZ-2496. Consider scheduling tasks in ShuffleVertexManager based on the partition sizes from the source.
  TEZ-2616. Fix build warning by undefined version of maven-findbugs-plugin.
  TEZ-2588. Improper argument name
  TEZ-2575. Handle KeyValue pairs size which do not fit in a single block.
  TEZ-2599. Dont send obsoleted data movement events to tasks
  TEZ-2542. TezDAGID fromString array length check.
  TEZ-2565. Consider scanning unfinished tasks in VertexImpl::constructStatistics to reduce merge overhead.
  TEZ-2296. Add option to print counters for tez-examples.
  TEZ-2570. Fix license header issue for eps image files.
  TEZ-2378. In case Fetcher (unordered) fails to do local fetch, log in debug mode to reduce log size.
  TEZ-2558. Upload additional Tez images.
  TEZ-2486. Update tez website to include links based on
    http://www.apache.org/foundation/marks/pmcs.html#navigation.
  TEZ-2548. TezClient submitDAG can hang if the AM is in the process of shutting down.
  TEZ-2473. Consider using RawLocalFileSystem in MapOutput.createDiskMapOutput.
  TEZ-2538. ADDITIONAL_SPILL_COUNT wrongly populated for DefaultSorter with multiple partitions.
  TEZ-2489. Disable warn log for Timeline ACL error when tez.allow.disabled.timeline-domains set to true.
  TEZ-2376. Remove TaskAttemptEventType.TA_DIAGNOSTICS_UPDATE
  TEZ-2509. YarnTaskSchedulerService should not try to allocate containers if AM is shutting down.
  TEZ-2506. TestAysncHttpConnection failing.
  TEZ-2503. findbugs version isn't reported properly in test-patch report.
  TEZ-2198. Fix sorter spill counts.
  TEZ-1883. Change findbugs version to 3.x.
  TEZ-2440. Sorter should check for indexCacheList.size() in flush().
  TEZ-2490. TEZ-2450 breaks Hadoop 2.2 and 2.4 compatability.
  TEZ-2450. support async http clients in ordered & unordered inputs.
  TEZ-2454. Change FetcherOrderedGroup to work as Callables instead of blocking threads.
  TEZ-2466. tez-history-parser breaks hadoop 2.2 compatability.
  TEZ-2463. Update site for 0.7.0 release
  TEZ-2461. tez-history-parser compile fails with hadoop-2.4.
  TEZ-2076. Tez framework to extract/analyze data stored in ATS for specific dag.
  TEZ-2436. Tez UI: Add cancel button in column selector.
  TEZ-2351. Remove GroupByOrderbyMRRTest example from tez-tests.
  TEZ-2419. Inputs/Outputs should inform the Processor about Interrupts when interrupted during a blocking Op.
  TEZ-1752. Inputs / Outputs in the Runtime library should be interruptable.
  TEZ-1970. Fix javadoc warnings in SortMergeJoinExample.

TEZ-2003: Support for External services CHANGES
  TEZ-2019. Temporarily allow the scheduler and launcher to be specified via configuration.
  TEZ-2006. Task communication plane needs to be pluggable.
  TEZ-2090. Add tests for jobs running in external services.
  TEZ-2117. Add a manager for ContainerLaunchers running in the AM.
  TEZ-2122. Setup pluggable components at AM/Vertex level.
  TEZ-2123. Fix component managers to use pluggable components. (Enable hybrid mode)
  TEZ-2125. Create a task communicator for local mode. Allow tasks to run in the AM.
  TEZ-2131. Add additional tests for tasks running in the AM.
  TEZ-2138. Fix minor bugs in adding default scheduler, getting launchers.
  TEZ-2139. Update tez version to 0.7.0-TEZ-2003-SNAPSHOT.
  TEZ-2175. Task priority should be available to the TaskCommunicator plugin.
  TEZ-2187. Allow TaskCommunicators to report failed / killed attempts.
  TEZ-2241. Miscellaneous fixes after last reabse.
  TEZ-2283. Fixes after rebase 04/07.
  TEZ-2284. Separate TaskReporter into an interface.
  TEZ-2285. Allow TaskCommunicators to indicate task/container liveness.
  TEZ-2302. Allow TaskCommunicators to subscribe for Vertex updates.
  TEZ-2347. Expose additional information in TaskCommunicatorContext.
  TEZ-2361. Propagate dag completion to TaskCommunicator.
  TEZ-2381. Fixes after rebase 04/28.
  TEZ-2388. Send dag identifier as part of the fetcher request string.
  TEZ-2414. LogicalIOProcessorRuntimeTask, RuntimeTask, TezTaskRunner should handle interrupts & carry out necessary cleanups.
  TEZ-2420. TaskRunner returning before executing the task.
  TEZ-2433. Fixes after rebase 05/08
  TEZ-2438. tez-tools version in the branch is incorrect.
  TEZ-2434. Allow tasks to be killed in the Runtime.
  TEZ-2443. TaskRunner2 should call abort, NPEs while cleaning up tasks.
  TEZ-2465. Retrun the status of a kill request in TaskRunner2.
  TEZ-2471. NPE in LogicalIOProcessorRuntimeTask while printing thread info.
  TEZ-2495. Inform TaskCommunicaor about Task and Container termination reasons.
  TEZ-2502. Fix for TezTaskRunner2 not killing tasks properly in all situations.
  TEZ-2508. rebase 06/01
  TEZ-2526. Fix version for tez-history-parser.
  TEZ-2621. rebase 07/14
  TEZ-2124. Change Node tracking to work per external container source.
  TEZ-2004. Define basic interface for pluggable ContainerLaunchers.
  TEZ-2005. Define basic interface for pluggable TaskScheduler.
  TEZ-2651. Pluggable services should not extend AbstractService.
  TEZ-2652. Cleanup the way services are specified for an AM and vertices.
  TEZ-2653. Change service contexts to expose a user specified payload instead of the AM configuration.
  TEZ-2441. Add tests for TezTaskRunner2.
  TEZ-2657. Add tests for client side changes - specifying plugins, etc.
  TEZ-2626. Fix log lines with DEBUG in messages, consolidate TEZ-2003 TODOs.
  TEZ-2126. Add unit tests for verifying multiple schedulers, launchers, communicators.
  TEZ-2698. rebase 08/05
  TEZ-2675. Add javadocs for new pluggable components, fix problems reported by jenkins
  TEZ-2678. Fix comments from reviews - part 1.
  TEZ-2707. Fix comments from reviews - part 2.
  TEZ-2713. Add tests for node handling when there's multiple schedulers.
  TEZ-2721. rebase 08/14
  TEZ-2714. Fix comments from review - part 3.
  TEZ-2727. Fix findbugs warnings
  TEZ-2670. Remove TaskAttempt holder used within TezTaskCommunicator.
  TEZ-2735. rebase 08/21
  TEZ-2736. Pre-merge: Update CHANGES.txt and version in branch.


Release 0.7.1: Unreleased

INCOMPATIBLE CHANGES

ALL CHANGES
  TEZ-2868. Fix setting Caller Context in Tez Examples.
  TEZ-2860. NPE in DAGClientImpl.
  TEZ-2855. Fix a potential NPE while routing VertexManager events.
  TEZ-2758. Remove append API in RecoveryService after TEZ-1909.
  TEZ-2851. Support a way for upstream applications to pass in a caller context to Tez.
  TEZ-2858. Stop using System.currentTimeMillis in TestInputReadyTracker.
  TEZ-2857. Fix flakey tests in TestDAGImpl.
  TEZ-2398. Flaky test: TestFaultTolerance
  TEZ-2808. Race condition between preemption and container assignment
  TEZ-2853. Tez UI: task attempt page is coming empty
  TEZ-2716. DefaultSorter.isRleNeeded not thread safe
  TEZ-2847. Tez UI: Task details doesn't gets updated on manual refresh after job complete
  TEZ-2843. Tez UI: Show error if in progress fails due to AM not reachable
  TEZ-2842. Tez UI: Update Tez App details page while in-progress
  TEZ-2834. Make Tez preemption resilient to incorrect free resource reported
  by YARN
  TEZ-2775. Improve and consolidate logging in Runtime components.
  TEZ-2097. TEZ-UI Add dag logs backend support
  TEZ-2812. Preemption sometimes does not respect heartbeats between preemptions
  TEZ-814.  Improve heuristic for determining a task has failed outputs
  TEZ-2829. Tez UI: minor fixes to in-progress update of UI from AM
  TEZ-2663. SessionNotRunning exceptions are wrapped in a ServiceException from a dying AM.
  TEZ-2825. Report progress in terms of completed tasks to reduce load on AM for Tez UI
  TEZ-2812. Tez UI: Update task & attempt tables while in progress.
  TEZ-2786. Tez UI: Update vertex, task & attempt details page while in progress.
  TEZ-2817. Tez UI: update in progress counter data for the dag vertices and tasks table
  TEZ-2813. Tez UI: add counter data for rest api calls to AM Web Services v2
  TEZ-2660. Tez UI: need to show application page even if system metrics publish is disabled.
  TEZ-2787. Tez AM should have java.io.tmpdir=./tmp to be consistent with tasks
  TEZ-2780. Tez UI: Update All Tasks page while in progress
  TEZ-2792. Add AM web service API for tasks
  TEZ-2807. Log data in the finish event instead of the start event
  TEZ-2766. Tez UI: Add vertex in-progress info in DAG details
  TEZ-2768. Log a useful error message when the summary stream cannot be closed when shutting
  down an AM.
  TEZ-2745. ClassNotFoundException of user code should fail dag
  TEZ-2761. Tez UI: update the progress on the dag and vertices pages with info from AM
  TEZ-2731. Fix Tez GenericCounter performance bottleneck
  TEZ-2752. logUnsuccessful completion in Attempt should write original finish
  time to ATS
  TEZ-2755. Fix findbugs warning in TezClient
  TEZ-2767. Make TezMxBeanResourceCalculator the default resource calculator.
  TEZ-2602. Throwing EOFException when launching MR job
  TEZ-2575. Handle KeyValue pairs size which do not fit in a single block in PipelinedSorter
  TEZ-2198. Fix sorter spill counts
  TEZ-2440. Sorter should check for indexCacheList.size() in flush()
  TEZ-2742. VertexImpl.finished() terminationCause hides member var of the
  same name
  TEZ-2662. Provide a way to check whether AM or task opts are valid and error if not.
  TEZ-2300. TezClient.stop() takes a lot of time or does not work sometimes
  TEZ-2734. Add a test to verify the filename generated by OnDiskMerge.
  TEZ-2732. DefaultSorter throws ArrayIndex exceptions on 2047 Mb size sort buffers
  TEZ-2687. ATS History shutdown happens before the min-held containers are released
  TEZ-2629. LimitExceededException in Tez client when DAG has exceeds the default max counters
  TEZ-2540. Create both tez-dist minimal and minimal.tar.gz formats as part of build
  TEZ-2630. TezChild receives IP address instead of FQDN.
  TEZ-2211. Tez UI: Allow users to configure timezone
  TEZ-2623. Fix module dependencies related to hadoop-auth.
  TEZ-1314. Port MAPREDUCE-5821 to Tez.
  TEZ-2568. V_INPUT_DATA_INFORMATION may happen after vertex is initialized
  TEZ-2291. TEZ UI: Improper vertex name in tables.
  TEZ-2567. Tez UI: download dag data does not work within ambari
  TEZ-2559. tez-ui fails compilation due to version dependency of frontend-maven-plugin
  TEZ-2545. It is not necessary to start the vertex group commit when DAG is in TERMINATING
  TEZ-2554. Tez UI: View log link does not correctly propagate login crendential to read log from yarn web.
  TEZ-2548. TezClient submitDAG can hang if the AM is in the process of shutting down.
  TEZ-2547. Tez UI: Download Data fails on secure, cross-origin clusters
  TEZ-1961. Remove misleading exception "No running dag" from AM logs.
  TEZ-2546. Tez UI: Fetch hive query text from timeline if dagInfo is not set.
  TEZ-2513. Tez UI: Allow filtering by DAG ID on All dags table.
  TEZ-2541. DAGClientImpl enable TimelineClient check is wrong.
  TEZ-2539. Tez UI: Pages are not updating in IE.
  TEZ-2535. Tez UI: Failed task attempts link in vertex details page is broken.
  TEZ-2489. Disable warn log for Timeline ACL error when tez.allow.disabled.timeline-domains set to true.
  TEZ-2528. Tez UI: Column selector buttons gets clipped, and table scroll bar not visible in mac.
  TEZ-2391. TestVertexImpl timing out at times on jenkins builds.
  TEZ-2509. YarnTaskSchedulerService should not try to allocate containers if AM is shutting down.
  TEZ-2527. Tez UI: Application hangs on entering erroneous RegEx in counter table search box
  TEZ-2523. Tez UI: derive applicationId from dag/vertex id instead of relying on json data
  TEZ-2505. PipelinedSorter uses Comparator objects concurrently from multiple threads.
  TEZ-2504. Tez UI: tables - show status column without scrolling, numeric 0 shown as Not available
  TEZ-2478. Move OneToOne routing to store events in Tasks.
  TEZ-2482. Tez UI: Mouse events not working on IE11
  TEZ-1529. ATS and TezClient integration in secure kerberos enabled cluster.
  TEZ-2481. Tez UI: graphical view does not render properly on IE11
  TEZ-2474. The old taskNum is logged incorrectly when parallelism is changed
  TEZ-2460. Temporary solution for issue due to YARN-2560
  TEZ-2455. Tez UI: Dag view caching, error handling and minor layout changes
  TEZ-2453. Tez UI: show the dagInfo is the application has set the same.
  TEZ-2447. Tez UI: Generic changes based on feedbacks.
  TEZ-2409. Allow different edges to have different routing plugins

Release 0.7.0: 2015-05-18

INCOMPATIBLE CHANGES
  TEZ-2176. Move all logging to slf4j. (commons-logging jar no longer part of Tez tar)
  TEZ-1993. Implement a pluggable InputSizeEstimator for grouping fairly.
  TEZ-2424. Bump up max counter group name length limit to account for per_io counters.
    Default max limit increased. Should not affect existing users.

ALL CHANGES:
  TEZ-2446. Tez UI: Add tezVersion details when downloading timeline data for offline use
  TEZ-2432. Syntax error in DOAP file release section
  TEZ-2445. Disable the object cleanup in local mode in LogicalIOProcessorRuntimeTask.
  TEZ-2057. tez-dag/pom.xml contains versions for dependencies.
  TEZ-2435. Add public key to KEYS
  TEZ-2421. Deadlock in AM because attempt and vertex locking each other out
  TEZ-2426. Ensure the eventRouter thread completes before switching to a new task and thread safety fixes in IPOContexts.
  TEZ-2412. Should kill vertex in DAGImpl#VertexRerunWhileCommitting
  TEZ-2410. VertexGroupCommitFinishedEvent & VertexCommitStartedEvent is not logged correctly
  TEZ-776. Reduce AM mem usage caused by storing TezEvents
  TEZ-2423. Tez UI: Remove Attempt Index column from task->attempts page
  TEZ-2416. Tez UI: Make tooltips display faster.
  TEZ-2404. Handle DataMovementEvent before its TaskAttemptCompletedEvent
  TEZ-2424. Bump up max counter group name length limit to account for per_io counters.
  TEZ-2417. Tez UI: Counters are blank in the Attempts page if all attempts failed
  TEZ-2366. Pig tez MiniTezCluster unit tests fail intermittently after TEZ-2333
  TEZ-2406. Tez UI: Display per-io counter columns in task and attempt pages under vertex
  TEZ-2384. Add warning message in the case of prewarn under non-session mode.
  TEZ-2415. PMC RDF needs to use asfext:pmc, not asfext:PMC.
  TEZ-2401. Tez UI: All-dag page has duration keep counting for KILLED dag.
  TEZ-2392. Have all readers throw an Exception on incorrect next() usage.
  TEZ-2408. TestTaskAttempt fails to compile against hadoop-2.4 and hadoop-2.2.
  TEZ-2405. PipelinedSorter can throw NPE with custom compartor.
  TEZ-1897. Create a concurrent version of AsyncDispatcher
  TEZ-2394. Issues when there is an error in VertexManager callbacks
  TEZ-2386. Tez UI: Inconsistent usage of icon colors
  TEZ-2395. Tez UI: Minimum/Maximum Duration show a empty bracket next to 0 secs when you purposefully failed a job.
  TEZ-2360. per-io counters flag should generate both overall and per-edge counters
  TEZ-2389. Tez UI: Sort by attempt-no is incorrect in attempts pages.
  TEZ-2363: Fix off-by-one error in REDUCE_INPUT_RECORDS counter
  TEZ-2383. Cleanup input/output/processor contexts in LogicalIOProcessorRuntimeTask.
  TEZ-2084. Tez UI: Stacktrace format info is lost in diagnostics
  TEZ-2374. Fix build break against hadoop-2.2 due to TEZ-2325.
  TEZ-2314. Tez task attempt failures due to bad event serialization
  TEZ-2368. Make a dag identifier available in Context classes.
  TEZ-2325. Route status update event directly to the attempt.
  TEZ-2358. Pipelined Shuffle: MergeManager assumptions about 1 merge per source-task.
  TEZ-2342. TestFaultTolerance.testRandomFailingTasks fails due to timeout.
  TEZ-2362. State Change Notifier Thread should be stopped when dag is
  completed
  TEZ-2364. Resolve config parameter replacement on the client, before sending them to the AM.
  TEZ-2298. Avoid logging full exception trace in TaskRunner when it's not the main error reason and is ignored.
  TEZ-2248. VertexImpl/DAGImpl.checkForCompletion have too many termination cause checks
  TEZ-2341. TestMockDAGAppMaster.testBasicCounters fails on windows
  TEZ-2352. Move getTaskStatistics into the RuntimeTask class.
  TEZ-2357. Tez UI: misc.js.orig is committed by accident
  TEZ-2261. Should add diagnostics in DAGAppMaster when recovery error happens
  TEZ-2340. TestRecoveryParser fails
  TEZ-2345. Tez UI: Enable cell level loading in all DAGs table
  TEZ-2330. Create reconfigureVertex() API for input based initialization
  TEZ-2292. Add e2e test for error reporting when vertex manager invokes
  plugin APIs
  TEZ-2308. Add set/get of record counts in task/vertex statistics
  TEZ-2344. Tez UI: Equip basic-ember-table's cell level loading for all use cases in all DAGs table
  TEZ-2313. Regression in handling obsolete events in ShuffleScheduler.
  TEZ-2212. Notify components on DAG completion.
  TEZ-2328. Add tez.runtime.sorter.class & rename tez.runtime.sort.threads
  to tez.runtime.pipelined.sorter.sort.threads.
  TEZ-2333. Enable local fetch optimization by default.
  TEZ-2310. Deadlock caused by StateChangeNotifier sending notifications on
  thread holding locks
  TEZ-1969. Stop the DAGAppMaster when a local mode client is stopped
  TEZ-714. OutputCommitters should not run in the main AM dispatcher thread
  TEZ-2323. Fix TestOrderedWordcount to use MR memory configs.
  TEZ-1482. Fix memory issues for Local Mode running concurrent tasks
  TEZ-2033. Update TestOrderedWordCount to add processor configs as history text
  and use MR configs correctly
  TEZ-2318. Tez UI: source and sink page is broken as they are not populated.
  TEZ-2016. Tez UI: Dag View Fit and Finish
  TEZ-2252. Tez UI: in graphical view some of the sinks are hidden as they overlap
  TEZ-2275. Tez UI: enable faster loading and caching of data in tables
  TEZ-2234. Add API for statistics information - allow vertex managers to get
  output size per source vertex
  TEZ-2274. Tez UI: full data loading, client side search and sort for other pages
  TEZ-2301. Switch Tez Pre-commit builds to use tezqa user.
  TEZ-2299. Invalid dag creation in MRRSleepJob post TEZ-2293.
  TEZ-2290. Scale memory for Default Sorter down to a max of 2047 MB if configured higher.
  TEZ-2233. Allow EdgeProperty of an edge to be changed by VertexManager
  TEZ-2293. When running in "mr" mode, always use MR config settings.
  TEZ-2273. Tez UI: Support client side searching & sorting for dag tasks page
  TEZ-2223. TestMockDAGAppMaster fails due to TEZ-2210 on mac.
  TEZ-2236. Tez UI: Support loading of all tasks in the dag tasks page
  TEZ-2159. Tez UI: download timeline data for offline use.
  TEZ-2269. DAGAppMaster becomes unresponsive (post TEZ-2149).
  TEZ-2243. documentation should explicitly specify protobuf 2.5.0.
  TEZ-2232. Allow setParallelism to be called multiple times before tasks get
  scheduled
  TEZ-2265. All inputs/outputs in a task share the same counter object
  TEZ-2251. Race condition in VertexImpl & Edge causes DAG to hang.
  TEZ-2264. Remove unused taskUmbilical reference in TezTaskRunner, register as running late.
  TEZ-2149. Optimizations for the timed version of DAGClient.getStatus.
  TEZ-2213. For the ordered case, enabling pipelined shuffle should automatically disable final merge.
  TEZ-2204. TestAMRecovery increasingly flaky on jenkins builds.
  TEZ-2209. Fix pipelined shuffle to fetch data from any one attempt
  TEZ-2210. Record DAG AM CPU usage stats
  TEZ-2203. Intern strings in tez counters
  TEZ-2202. Fix LocalTaskExecutionThread ID to the standard thread numbering.
  TEZ-2059. Remove TaskEventHandler in TestDAGImpl
  TEZ-2191. Simulation improvements to MockDAGAppMaster
  TEZ-2195. TestTezJobs::testInvalidQueueSubmission/testInvalidQueueSubmissionToSession
    fail with hadoop branch-2.
  TEZ-1827. MiniTezCluster takes 10 minutes to shut down.
  TEZ-2178. YARN-3122 breaks tez compilation with hadoop 2.7.0.
  TEZ-2174. Make task priority available to TaskAttemptListener.
  TEZ-2169. Add NDC context to various threads and pools.
  TEZ-2171. Remove unused metrics code.
  TEZ-2001. Support pipelined data transfer for ordered output.
  TEZ-2170. Incorrect its in README.md.
  TEZ-2070. Controller class of output should be committer rather than initializer in DAG's dot file.
  TEZ-2083. Make PipelinedSorter as the default sorter.
  TEZ-1967. Add a monitoring API on DAGClient which returns after a time interval or on DAG final state change.
  TEZ-2130. Send the sessionToken as part of the AM CLC.
  TEZ-1935. Organization should be removed from http://tez.apache.org/team-list.html.
  TEZ-2009. Change license/copyright headers to 2015.
  TEZ-2085. PipelinedSorter should bail out (on BufferOverflowException) instead of retrying continuously.
  TEZ-167. Create tests for MR Combiner.
  TEZ-2080. Localclient should be using tezconf in init instead of yarnconf.
  TEZ-2072. Add missing Private annotation to createDAG in the DAG API class.
  TEZ-2095. master branch fails to compile against hadoop-2.4.
  TEZ-2093. Add events to MockDAGAppMaster and add e2e test for event routing
  TEZ-2075. Incompatible issue caused by TEZ-1233 that TezConfiguration.TEZ_SITE_XML is made private
  TEZ-2082. Race condition in TaskAttemptListenerImpTezDag.getTask()
  TEZ-1233. Allow configuration of framework parameters per vertex.
  TEZ-2045. TaskAttemptListener should not pull Tasks from AMContainer. Instead these should be registered with the listener.
  TEZ-1914. VertexManager logic should not run on the central dispatcher
  TEZ-2023. Refactor logIndividualFetchComplete() to be common for both shuffle-schedulers.
  TEZ-1999. IndexOutOfBoundsException during merge.
  TEZ-2000. Source vertex exists error during DAG submission.
  TEZ-2008. Add methods to SecureShuffleUtils to verify a reply based on a provided Key.
  TEZ-1995. Build failure against hadoop 2.2.
  TEZ-1997. Remove synchronization DefaultSorter::isRLENeeded() (Causes sorter to hang indefinitely in large jobs).
  TEZ-1996. Update Website after 0.6.0
  TEZ-1803. Support > 2gb sort buffer in pipelinedsorter.
  TEZ-1826. Add option to disable split grouping and local mode option for tez-examples.
  TEZ-1982. TezChild setupUgi should not be using environment.
  TEZ-1980. Suppress tez-dag findbugs warnings until addressed.
  TEZ-1855. Avoid scanning for previously written files within Inputs / Outputs.
  TEZ-1902. Fix findbugs warnings in tez-mapreduce.
  TEZ-1963. Fix post memory merge to be > 2 GB.
  TEZ-1901. Fix findbugs warnings in tez-examples.
  TEZ-1941. Memory provided by *Context.getAvailableMemory needs to be setup explicitly.
  TEZ-1879. Create local UGI instances for each task and the AM, when running in LocalMode.
  TEZ-1661. LocalTaskScheduler hangs when shutdown.
  TEZ-1951. Fix general findbugs warnings in tez-dag.
  TEZ-1905. Fix findbugs warnings in tez-tests.
  TEZ-1945. Remove 2 GB memlimit restriction in MergeManager.
  TEZ-1913. Reduce deserialize cost in ValuesIterator.
  TEZ-1917. Examples should extend TezExampleBase.
  TEZ-1892. Add hashCode and equals for Vertex/VertexGroup/Edge/GroupInputEdge.
  TEZ-1904. Fix findbugs warnings in tez-runtime-library module.
  TEZ-1903. Fix findbugs warnings in tez-runtime-internal module.
  TEZ-1896. Move the default heartbeat timeout and checkinterval to TezConfiguration.
  TEZ-1274. Remove Key/Value type checks in IFile.
  TEZ-1912. Merge exceptions are thrown when enabling tez.runtime.shuffle.memory-to-memory.enable && tez.runtime.shuffle.memory-to-memory.segments.
  TEZ-1922. Fix comments: add UNSORTED_OUTPUT to TEZ_TASK_SCALE_MEMORY_WEIGHTED_RATIOS.
  TEZ-485. Get rid of TezTaskStatus.
  TEZ-1899. Fix findbugs warnings in tez-common module.
  TEZ-1898. Fix findbugs warnings in tez-api module.
  TEZ-1906. Fix findbugs warnings in tez-yarn-timeline-history-with-acls.
  TEZ-1767. Enable RLE in reducer side merge codepath.
  TEZ-1837. Restrict usage of Environment variables to main methods.
  TEZ-1867. Create new central dispatcher for Tez AM
  TEZ-1844. Shouldn't invoke system.exit in local mode when AM is failed to start.
  TEZ-1889. Fix test-patch to provide correct findbugs report.
  TEZ-1313. Setup pre-commit build to test submitted patches.
  TEZ-1856. Remove LocalOnFileSortedOutput, LocalMergedInput, LocalTaskOutputFiles.
  TEZ-1949. Whitelist TEZ_RUNTIME_OPTIMIZE_SHARED_FETCH for broadcast edges.
  TEZ-1593. Refactor PipelinedSorter to remove all MMAP based ByteBuffer references.

Release 0.6.3: Unreleased

INCOMPATIBLE CHANGES

ALL CHANGES:
  TEZ-2855. Fix a potential NPE while routing VertexManager events.
  TEZ-2716. DefaultSorter.isRleNeeded not thread safe
  TEZ-2758. Remove append API in RecoveryService after TEZ-1909.
  TEZ-2851. Support a way for upstream applications to pass in a caller context to Tez.
  TEZ-2398. Flaky test: TestFaultTolerance
  TEZ-2808. Race condition between preemption and container assignment
  TEZ-2834. Make Tez preemption resilient to incorrect free resource reported
  by YARN
  TEZ-2097. TEZ-UI Add dag logs backend support
  TEZ-2812. Preemption sometimes does not respect heartbeats between preemptions
  TEZ-814.  Improve heuristic for determining a task has failed outputs
  TEZ-2809. Minimal distribution compiled on 2.6 fails to run on 2.7
  TEZ-2768. Log a useful error message when the summary stream cannot be closed when shutting
  down an AM.
  TEZ-2745. ClassNotFoundException of user code should fail dag
  TEZ-2752. logUnsuccessful completion in Attempt should write original finish
  time to ATS
  TEZ-2742. VertexImpl.finished() terminationCause hides member var of the
  same name
  TEZ-2732. DefaultSorter throws ArrayIndex exceptions on 2047 Mb size sort buffers
  TEZ-2290. Scale memory for Default Sorter down to a max of 2047 MB if configured higher.
  TEZ-2734. Add a test to verify the filename generated by OnDiskMerge.
  TEZ-2687. ATS History shutdown happens before the min-held containers are released
  TEZ-2629. LimitExceededException in Tez client when DAG has exceeds the default max counters
  TEZ-2630. TezChild receives IP address instead of FQDN.

Release 0.6.2: 2015-08-07

INCOMPATIBLE CHANGES

ALL CHANGES:
  TEZ-2311. AM can hang if kill received while recovering from previous attempt.
  TEZ-2623. Fix module dependencies related to hadoop-auth.
  TEZ-2560. fix tex-ui build for maven 3.3+
  TEZ-2600. When used with HDFS federation(viewfs) ,tez will throw a error
  TEZ-2579. Incorrect comparison of TaskAttemptId
  TEZ-2549. Reduce Counter Load on the Timeline Server
  TEZ-2548. TezClient submitDAG can hang if the AM is in the process of shutting down.
  TEZ-2534. Error handling summary event when shutting down AM.
  TEZ-2511. Add exitCode to diagnostics when container fails.
  TEZ-2489. Disable warn log for Timeline ACL error when tez.allow.disabled.timeline-domains set to true.
  TEZ-2509. YarnTaskSchedulerService should not try to allocate containers if AM is shutting down.
  TEZ-2483. Tez should close task if processor fail

Release 0.6.1: 2015-05-18

INCOMPATIBLE CHANGES

ALL CHANGES:
  TEZ-2437. FilterLinesByWord NPEs when run in Localmode
  TEZ-2057. tez-dag/pom.xml contains versions for dependencies.
  TEZ-2282. Delimit reused yarn container logs (stderr, stdout, syslog) with task attempt start/stop events
  TEZ-2396. pig-tez-tfile-parser pom is hard coded to depend on 0.6.0-SNAPSHOT version.
  TEZ-2237. Valid events should be sent out when an Output is not started.
  TEZ-1988. Tez UI: does not work when using file:// in a browser
  TEZ-2390. tez-tools swimlane tool fails to parse large jobs >8K containers
  TEZ-2256. Avoid use of BufferTooSmallException to signal end of buffer in UnorderedPartitionedKVWriter
  TEZ-2380. Disable fall back to reading from timeline if timeline disabled.
  TEZ-2226. Disable writing history to timeline if domain creation fails.
  TEZ-2259. Push additional data to Timeline for Recovery for better consumption in UI.
  TEZ-2365. Update tez-ui war's license/notice to reflect OFL license correctly.
  TEZ-2329. UI Query on final dag status performance improvement
  TEZ-2287. Deprecate VertexManagerPluginContext.getTaskContainer().
  TEZ-1909. Remove need to copy over all events from attempt 1 to attempt 2 dir
  TEZ-2061. Tez UI: vertex id column and filter on tasks page should be changed to vertex name
  TEZ-2242. Refactor ShuffleVertexManager code
  TEZ-2205. Tez still tries to post to ATS when yarn.timeline-service.enabled=false.
  TEZ-2047. Build fails against hadoop-2.2 post TEZ-2018
  TEZ-2064. SessionNotRunning Exception not thrown is all cases
  TEZ-2189. Tez UI live AM tracking url only works for localhost addresses
  TEZ-2179. Timeline relatedentries missing cause exaggerated warning.
  TEZ-2168. Fix application dependencies on mutually exclusive artifacts: tez-yarn-timeline-history
    and tez-yarn-timeline-history-with-acls.
  TEZ-2190. TestOrderedWordCount fails when generateSplitsInClient set to true.
  TEZ-2091. Add support for hosting TEZ_UI with nodejs.
  TEZ-2165. Tez UI: DAG shows running status if killed by RM in some cases.
  TEZ-2158. TEZ UI: Display dag/vertex names, and task/attempt index in breadcrumb.
  TEZ-2160. Tez UI: App tracking URL should support navigation back.
  TEZ-2147. Swimlanes: Improved tooltip
  TEZ-2142. TEZ UI: Breadcrumb border color looks out of place in wrapped mode.
  TEZ-2134. TEZ UI: On request failure, display request URL and server name in error bar.
  TEZ-2136. Some enhancements to the new Tez UI.
  TEZ-2135. ACL checks handled incorrectly in AMWebController.
  TEZ-1990. Tez UI: DAG details page shows Nan for end time when a DAG is running.
  TEZ-2116. Tez UI: dags page filter does not work if more than one filter is specified.
  TEZ-2106. TEZ UI: Display data load time, and add a refresh button for items that can be refreshed.
  TEZ-2114. Tez UI: task/task attempt status is not available when its running.
  TEZ-2112. Tez UI: fix offset calculation, add home button to breadcrumbs.
  TEZ-2038. TEZ-UI DAG is always running in tez-ui when the app is failed but no DAGFinishedEvent is logged.
  TEZ-2102. Tez UI: DAG view has hidden edges, dragging DAG by holding vertex causes unintended click.
  TEZ-2101. Tez UI: Issues on displaying a table.
  TEZ-2092. Tez UI history url handler injects spurious trailing slash.
  TEZ-2098. Tez UI: Dag details should be the default page for dag, fix invalid time entries for failed Vertices.
  TEZ-2024. TaskFinishedEvent may not be logged in recovery.
  TEZ-2031. Tez UI: horizontal scrollbars do not appear in tables, causing them to look truncated. 
  TEZ-2073. SimpleHistoryLoggingService cannot be read by log aggregation (umask)
  TEZ-2078. Tez UI: Task logs url use in-progress url causing various errors.
  TEZ-2077. Tez UI: No diagnostics on Task Attempt Details page if task attempt failed. 
  TEZ-2065. Setting up tez.tez-ui.history-url.base with a trailing slash can result in failures to redirect correctly. 
  TEZ-2068. Tez UI: Dag view should use full window height, disable webuiservice in localmode.
  TEZ-2079. Tez UI: trailing slash in timelineBaseUrl in ui should be handled. 
  TEZ-2069. Tez UI: appId should link to application in dag details view.
  TEZ-2063. Tez UI: Flaky log url in tasks table.
  TEZ-2062. Tez UI: Showing 50 elements not working properly.
  TEZ-2056. Tez UI: fix VertexID filter,show only tez configs by default,fix appattemptid.
  TEZ-2052. Tez UI: log view fixes, show version from build, better handling of ats url config.
  TEZ-2043. Tez UI: add progress info from am webservice to dag and vertex views.
  TEZ-2032. Update CHANGES.txt to show 0.6.0 is released
  TEZ-2018. App Tracking and History URL should point to the Tez UI.
  TEZ-2035. Make timeline server putDomain exceptions non-fatal - work-around
  TEZ-1929. pre-empted tasks should be marked as killed instead of failed
  TEZ-2017. TEZ UI - Dag view throwing error whild re-displaying additionals in some dags.
  TEZ-2013. TEZ UI - App Details Page UI Nits
  TEZ-2014. Tez UI: Nits : All tables, Vertices Page UI.
  TEZ-2012. TEZ UI: Show page number in all tables, and display more readable task/attempt ids.
  TEZ-1973. Dag View
  TEZ-2010. History payload generated from conf has ${var} placeholders.
  TEZ-1946. Tez UI: add source & sink views, add counters to vertices/all task views.
  TEZ-1987. Tez UI non-standalone mode uses invalid protocol.
  TEZ-1983. Tez UI swimlane task attempt link is broken

Release 0.6.0: 2015-01-23

INCOMPATIBLE CHANGES

ALL CHANGES:
  TEZ-1977. Fixup CHANGES.txt with Tez UI jiras
  TEZ-1743. Add versions-maven-plugins artifacts to gitignore
  TEZ-1968. Tez UI - All vertices of DAG are not listed in vertices page
  TEZ-1890. tez-ui web.tar.gz also being uploaded to maven repository
  TEZ-1938. Build warning duplicate jersey-json definitions
  TEZ-1910. Build fails against hadoop-2.2.0.
  TEZ-1882. Tez UI build does not work on Windows
  TEZ-1915. Add public key to KEYS
  TEZ-1907. Fix javadoc warnings in tez codebase
  TEZ-1891. Incorrect number of Javadoc warnings reported
  TEZ-1762. Lots of unit tests do not have timeout parameter set.
  TEZ-1886. remove deprecation warnings for tez-ui on the console.
  TEZ-1875. dropdown filters do not work on vertices and task attempts page.
  TEZ-1873. TestTezAMRMClient fails due to host resolution timing out.
  TEZ-1881. Setup initial test-patch script for TEZ-1313.
  TEZ-1864. move initialization code dependent on config params to App.ready.
  TEZ-1870. Time displayed in the UI is in GMT.
  TEZ-1858. Docs for deploying/using the Tez UI.
  TEZ-1859. TestGroupedSplits has commented out test: testGzip.
  TEZ-1868. Document how to do Windows builds due to with ACL symlink build changes.
  TEZ-1872. docs/src/site/custom/project-info-report.properties needs license header.
  TEZ-1850. Enable deploy for tez-ui war.
  TEZ-1841. Remove range versions for dependencies in tez-ui.
  TEZ-1854. Failing tests due to host resolution timing out.
  TEZ-1860. mvn apache-rat:check broken for tez-ui.
  TEZ-1866. remove the "original" directory under tez-ui
  TEZ-1591. Add multiDAG session test and move TestLocalMode to tez-tests
  TEZ-1769. ContainerCompletedWhileRunningTransition should inherit from TerminatedWhileRunningTransition
  TEZ-1849. Fix tez-ui war file licensing.
  TEZ-1840. Document TezTaskOutput.
  TEZ-1576. Class level comment in {{MiniTezCluster}} ends abruptly.
  TEZ-1838. tez-ui/src/main/webapp/bower.json gets updated after compiling source code.
  TEZ-1789. Move speculator processing off the central dispatcher.
  TEZ-1610. Add additional task counters for fetchers, merger.
  TEZ-1847. Fix package name for MiniTezClusterWithTimeline.
  TEZ-1846. Build fails with package org.apache.tez.dag.history.logging.ats does not exist.
  TEZ-1696. Make Tez use the domain-based timeline ACLs.
  TEZ-1835. TestFaultTolerance#testRandomFailingTasks is timing out
  TEZ-1832. TestSecureShuffle fails with NoClassDefFoundError: org/bouncycastle/x509/X509V1CertificateGenerator
  TEZ-1672. Update jetty to use stable 7.x version - 7.6.16.v20140903.
  TEZ-1822. Docs for Timeline/ACLs/HistoryText.
  TEZ-1252. Change wording on http://tez.apache.org/team-list.html related to member confusion.
  TEZ-1805. Tez client DAG cycle detection should detect self loops
  TEZ-1816. It is possible to receive START event when DAG is failed
  TEZ-1787. Counters for speculation
  TEZ-1773. Add attempt failure cause enum to the attempt failed/killed
  history record
  TEZ-14. Support MR like speculation capabilities based on latency deviation
  from the mean
  TEZ-1733. TezMerger should sort FileChunks on size when merging
  TEZ-1738. Tez tfile parser for log parsing
  TEZ-1627. Remove OUTPUT_CONSUMABLE and related Event in TaskAttemptImpl
  TEZ-1736. Add support for Inputs/Outputs in runtime-library to generate history text data.
  TEZ-1721. Update INSTALL instructions for clarifying tez client jars
    compatibility with runtime tarball on HDFS.
  TEZ-1690. TestMultiMRInput tests fail because of user collisions.
  TEZ-1687. Use logIdentifier of Vertex for logging.
  TEZ-1737. Should add taskNum in VertexFinishedEvent.
  TEZ-1772. Failing tests post TEZ-1737.
  TEZ-1785. Remove unused snappy-java dependency.
  TEZ-1685. Remove YARNMaster which is never used.
  TEZ-1797. Create necessary content for Tez DOAP file.
  TEZ-1650. Please create a DOAP file for your TLP.
  TEZ-1697. DAG submission fails if a local resource added is already part of tez.lib.uris
  TEZ-1060 Add randomness to fault tolerance tests
  TEZ-1790. DeallocationTaskRequest may been handled before corresponding AllocationTaskRequest in local mode

TEZ-UI CHANGES (TEZ-8):
  TEZ-1823. default ATS url should be the same host as ui
  TEZ-1817. Add configuration and build details to README
  TEZ-1813. display loading and other error messages in tez-ui
  TEZ-1809. Provide a error bar to report errors to users in Tez-UI
  TEZ-1810. Do not deploy tez-ui war to maven repo
  TEZ-1709. Bunch of files in tez-ui missing Apache license header
  TEZ-1784. Attempt details in tasks table.
  TEZ-1801. Update build instructions for tez-ui
  TEZ-1757. Column selector for tables.
  TEZ-1794. Vertex view needs a task attempt rollup
  TEZ-1791. breadcrumbs for moving between pages.
  TEZ-1781. Configurations view ~ New design
  TEZ-1605. Landing page for Tez UI
  TEZ-1600. Swimlanes View for Tez UI 
  TEZ-1799. Enable Cross Origin Support in Tez UI
  TEZ-1634. Fix compressed IFile shuffle errors
  TEZ-1615. Skeleton framework for Tez UI
  TEZ-1604. Task View for Tez UI
  TEZ-1603. Vertex View for Tez UI.
  TEZ-1720. Allow filters in all tables and also to pass in filters using url params.
  TEZ-1708. Make UI part of TEZ build process.
  TEZ-1617. Shim layer for Tez UI for use within Ambari.
  TEZ-1741. App view.
  TEZ-1751. Log view & download links in task and task attempt view.
  TEZ-1753. Queue in dags view.
  TEZ-1765. Allow dropdown lists in table filters.
  TEZ-1606. Counters View for DAG, Vertex, and Task.
  TEZ-1768. follow up jira to address minor issues in Tez-ui.
  TEZ-1783. Wrapper in standalone mode.
  TEZ-1820. Fix wrong links.

Release 0.5.5: Unreleased

INCOMPATIBLE CHANGES
  TEZ-2552. CRC errors can cause job to run for very long time in large jobs.

ALL CHANGES:
  TEZ-2398. Flaky test: TestFaultTolerance
  TEZ-2808. Race condition between preemption and container assignment
  TEZ-2834. Make Tez preemption resilient to incorrect free resource reported
  by YARN
  TEZ-2812. Preemption sometimes does not respect heartbeats between preemptions
  TEZ-814.  Improve heuristic for determining a task has failed outputs
  TEZ-2768. Log a useful error message when the summary stream cannot be closed when shutting
  down an AM.
  TEZ-2745. ClassNotFoundException of user code should fail dag
  TEZ-2752. logUnsuccessful completion in Attempt should write original finish
  time to ATS
  TEZ-2742. VertexImpl.finished() terminationCause hides member var of the
  same name
  TEZ-2732. DefaultSorter throws ArrayIndex exceptions on 2047 Mb size sort buffers
  TEZ-2290. Scale memory for Default Sorter down to a max of 2047 MB if configured higher.
  TEZ-2734. Add a test to verify the filename generated by OnDiskMerge.
  TEZ-2687. ATS History shutdown happens before the min-held containers are released
  TEZ-2629. LimitExceededException in Tez client when DAG has exceeds the default max counters
  TEZ-2630. TezChild receives IP address instead of FQDN.
  TEZ-2635. Limit number of attempts being downloaded in unordered fetch.
  TEZ-2636. MRInput and MultiMRInput should work for cases when there are 0 physical inputs.
  TEZ-2600. When used with HDFS federation(viewfs) ,tez will throw a error

Release 0.5.4: 2015-06-26

ALL CHANGES:
  TEZ-2561. Port for TaskAttemptListenerImpTezDag should be configurable
  TEZ-2566. Allow TaskAttemptFinishedEvent without TaskAttemptStartedEvent when it is KILLED/FAILED
  TEZ-2475. Fix a potential hang in Tez local mode caused by incorrectly handled interrupts.
  TEZ-2548. TezClient submitDAG can hang if the AM is in the process of shutting down.
  TEZ-2533. AM deadlock when shutdown
  TEZ-2537. mapreduce.map.env and mapreduce.reduce.env need to fall back to mapred.child.env for compatibility
  TEZ-2304. InvalidStateTransitonException TA_SCHEDULE at START_WAIT during recovery
  TEZ-2488. Tez AM crashes if a submitted DAG is configured to use invalid resource sizes.
  TEZ-2080. Localclient should be using tezconf in init instead of yarnconf.
  TEZ-2369. Add a few unit tests for RootInputInitializerManager.
  TEZ-2379. org.apache.hadoop.yarn.state.InvalidStateTransitonException:
    Invalid event: T_ATTEMPT_KILLED at KILLED.
  TEZ-2397. Translation of LocalResources via Tez plan serialization can be lossy.
  TEZ-2221. VertexGroup name should be unqiue
  TEZ-1521. VertexDataMovementEventsGeneratedEvent may be logged twice in recovery log
  TEZ-2348. EOF exception during UnorderedKVReader.next().
  TEZ-1560. Invalid state machine handling for V_SOURCE_VERTEX_RECOVERED in recovery.
  TEZ-2305. MR compatibility sleep job fails with IOException: Undefined job output-path
  TEZ-2303. ConcurrentModificationException while processing recovery.
  TEZ-2334. ContainerManagementProtocolProxy modifies IPC timeout conf without making a copy.
  TEZ-2317. Event processing backlog can result in task failures for short
  tasks
  TEZ-2289. ATSHistoryLoggingService can generate ArrayOutOfBoundsException.
  TEZ-2257. Fix potential NPEs in TaskReporter.
  TEZ-2192. Relocalization does not check for source.
  TEZ-2224. EventQueue empty doesn't mean events are consumed in RecoveryService
  TEZ-2240. Fix toUpperCase/toLowerCase to use Locale.ENGLISH.
  TEZ-2238. TestContainerReuse flaky
  TEZ-2217. The min-held-containers being released prematurely
  TEZ-2214. FetcherOrderedGrouped can get stuck indefinitely when MergeManager misses memToDiskMerging
  TEZ-1923. FetcherOrderedGrouped gets into infinite loop due to memory pressure
  TEZ-2219. Should verify the input_name/output_name to be unique per vertex
  TEZ-2186. OOM with a simple scatter gather job with re-use
  TEZ-2220. TestTezJobs compile failure in branch 0.5.
  TEZ-2199. updateLocalResourcesForInputSplits assumes wrongly that split data is on same FS as the default FS.
  TEZ-2162. org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat is not recognized
  TEZ-2193. Check returned value from EdgeManagerPlugin before using it
  TEZ-2133. Secured Impersonation: Failed to delete tez scratch data dir
  TEZ-2058. Flaky test: TestTezJobs::testInvalidQueueSubmission.
  TEZ-2037. Should log TaskAttemptFinishedEvent if taskattempt is recovered to KILLED.
  TEZ-2071. TestAMRecovery should set test names for test DAGs.
  TEZ-1928. Tez local mode hang in Pig tez local mode.
  TEZ-1893. Verify invalid -1 parallelism in DAG.verify().
  TEZ-900. Confusing message for incorrect queue for some tez examples.
  TEZ-2036. OneToOneEdgeManager should enforce that source and destination
  tasks have same number
  TEZ-1895. Vertex reRunning should decrease successfulMembers of VertexGroupInfo.
  TEZ-2020. For 1-1 edge vertex configured event may be sent incorrectly
  TEZ-2015. VertexImpl.doneReconfiguringVertex() should check other criteria
  before sending notification
  TEZ-2011. InputReadyVertexManager not resilient to updates in parallelism 
  TEZ-1934. TestAMRecovery may fail due to the execution order is not determined.
  TEZ-1642. TestAMRecovery sometimes fail.
  TEZ-1931. Publish tez version info to Timeline.
  TEZ-1942. Number of tasks show in Tez UI with auto-reduce parallelism is misleading.
  TEZ-1962. Fix a thread leak in LocalMode.
  TEZ-1924. Tez AM does not register with AM with full FQDN causing jobs
  to fail in some environments.
  TEZ-1878. Task-specific log level override not working in certain conditions.
  TEZ-1775. Allow setting log level per logger.
  TEZ-1851. FileSystem counters do not differentiate between different FileSystems.
  TEZ-1852. Get examples to work in LocalMode.
  TEZ-1861. Fix failing test: TestOnFileSortedOutput.
  TEZ-1836. Provide better error messages when tez.runtime.io.sort.mb, spill percentage is incorrectly configured.
  TEZ-1800. Integer overflow in ExternalSorter.getInitialMemoryRequirement()

Release 0.5.3: 2014-12-10

ALL CHANGES:
  TEZ-1925. Remove npm WARN messages from the Tez UI build process.
  TEZ-1758. TezClient should provide YARN diagnostics when the AM crashes
  TEZ-1742. Improve response time of internal preemption
  TEZ-1745. TestATSHistoryLoggingService::testATSHistoryLoggingServiceShutdown can be flaky.
  TEZ-1747. Increase test timeout for TestSecureShuffle.
  TEZ-1746. Flaky test in TestVertexImpl and TestExceptionPropagation.
  TEZ-1749. Increase test timeout for TestLocalMode.testMultipleClientsWithSession
  TEZ-1750. Add a DAGScheduler which schedules tasks only when sources have been scheduled.
  TEZ-1761. TestRecoveryParser::testGetLastInProgressDAG fails in similar manner to TEZ-1686.
  TEZ-1770. Handle ConnectExceptions correctly when establishing connections to an NM which may be down.
  TEZ-1774. AppLaunched event for Timeline does not have start time set.
  TEZ-1780. tez-api is missing jersey dependencies.
  TEZ-1796. Use of DeprecationDelta broke build against 2.2 Hadoop.
  TEZ-1818. Problem loading tez-api-version-info.properties in case current context classloader
    in not pointing to Tez jars.
  TEZ-1808. Job can fail since name of intermediate files can be too long in specific situation.

Release 0.5.2: 2014-11-07

INCOMPATIBLE CHANGES
  TEZ-1666. UserPayload should be null if the payload is not specified.
    0.5.1 client cannot talk to 0.5.2 AMs (TEZ-1666 and TEZ-1664).
    context.getUserPayload can now return null, apps may need to add defensive code.
  TEZ-1699. Vertex.setParallelism should throw an exception for invalid
  invocations
  TEZ-1700. Replace containerId from TaskLocationHint with [TaskIndex+Vertex]
  based affinity

ALL CHANGES:
  TEZ-1620. Wait for application finish before stopping MiniTezCluster
  TEZ-1621. Should report error to AM before shuting down TezChild
  TEZ-1634. Fix compressed IFile shuffle errors
  TEZ-1648. Update website after 0.5.1
  TEZ-1614. Use setFromConfiguration() in SortMergeJoinExample to demonstrate the usage
  TEZ-1641. Add debug logs in VertexManager to help debugging custom VertexManagerPlugins
  TEZ-1645. Add support for specifying additional local resources via config.
  TEZ-1646. Add support for augmenting classpath via configs.
  TEZ-1647. Issue with caching of events in VertexManager::onRootVertexInitialized.
  TEZ-1470. Recovery fails due to TaskAttemptFinishedEvent being recorded multiple times for the same task.
  TEZ-1649. ShuffleVertexManager auto reduce parallelism can cause jobs to hang indefinitely.
  TEZ-1566. Reduce log verbosity.
  TEZ-1083. Enable IFile RLE for DefaultSorter.
  TEZ-1637. Improved shuffle error handling across NM restarts.
  TEZ-1479. Disambiguate (refactor) between ShuffleInputEventHandlers and Fetchers.
  TEZ-1665. DAGScheduler should provide a priority range instead of an exact
  priority
  TEZ-1632. NPE at TestPreemption.testPreemptionWithoutSession
  TEZ-1674. Rename configuration parameters related to counters / memory scaling.
  TEZ-1176. Set parallelism should end up sending an update to ATS if numTasks are updated at run-time.
  TEZ-1658. Additional data generation to Timeline for UI.
  TEZ-1676. Fix failing test in TestHistoryEventTimelineConversion.
  TEZ-1673. Update the default value for allowed node failures, num events per heartbeat
  and counter update interval.
  TEZ-1462. Remove unnecessary SuppressWarnings.
  TEZ-1633. Fixed expected values in TestTaskRecovery.testRecovery_OneTAStarted.
  TEZ-1669. yarn-swimlanes.sh throws error post TEZ-1556.
  TEZ-1682. Tez AM hangs at times when there are task failures.
  TEZ-1683. Do ugi::getGroups only when necessary when checking ACLs.
  TEZ-1584. Restore counters from DAGFinishedEvent when DAG is completed.
  TEZ-1525. BroadcastLoadGen testcase.
  TEZ-1686. TestRecoveryParser.testGetLastCompletedDAG fails sometimes
  TEZ-1667. Add a system test for InitializerEvents.
  TEZ-1668. InputInitializers should be able to register for Vertex state updates in the constructor.
  TEZ-1656. Grouping of splits should maintain the original ordering of splits
  within a group
  TEZ-1396. Grouping should generate consistent groups when given the same set
  of splits
  TEZ-1210. TezClientUtils.localizeDagPlanAsText() needs to be fixed for
  session mode
  TEZ-1629. Replace ThreadPool's default RejectedExecutionHandler in ContainerLauncherImpl to void
  abort when AM shutdown.
  TEZ-1643. DAGAppMaster kills DAG & shuts down, when RM is restarted.
  TEZ-1684. upgrade mockito to latest release.
  TEZ-1567. Avoid blacklisting nodes when the disable blacklisting threshold is about to be hit.
  TEZ-1267. Exception handling for VertexManager.
  TEZ-1688. Add applicationId as a primary filter for all Timeline data for easier export.
  TEZ-1141. DAGStatus.Progress should include number of failed and killed attempts.
  TEZ-1424. Fixes to DAG text representation in debug mode.
  TEZ-1590. Fetchers should not report failures after the Processor on the task completes.
  TEZ-1542. Fix a Local Mode crash on concurrentModificationException.
  TEZ-1638. Fix Missing type parametrization in runtime Input/Output configs.
  TEZ-1596. Secure Shuffle utils is extremely expensive for fast queries.
  TEZ-1712. SSL context gets destroyed too soon after downloading data from one of the vertices.
  TEZ-1710. Add support for cluster default AM/task launch opts.
  TEZ-1713. tez.lib.uris should not require the paths specified to be fully qualified.
  TEZ-1715. Fix use of import java.util.* in MultiMRInput.
  TEZ-1664. Add checks to ensure that the client and AM are compatible.
  TEZ-1689. Exception handling for EdgeManagerPlugin.
  TEZ-1701. ATS fixes to flush all history events and also using batching.
  TEZ-792. Default staging path should have user name.
  TEZ-1689. addendum - fix unit test failure.
  TEZ-1666. UserPayload should be null if the payload is not specified.
    0.5.1 client cannot talk to 0.5.2 AMs (TEZ-1666 and TEZ-1664).
    context.getUserPayload can now return null, apps may need to add defensive code.
  TEZ-1699. Vertex.setParallelism should throw an exception for invalid
  invocations
  TEZ-1700. Replace containerId from TaskLocationHint with [TaskIndex+Vertex]
  based affinity
  TEZ-1716. Additional ATS data for UI.
  TEZ-1722. DAG should be related to Application Id in ATS data.
  TEZ-1711. Don't cache outputSpecList in VertexImpl.getOutputSpecList(taskIndex)
  TEZ-1703. Exception handling for InputInitializer.
  TEZ-1698. Cut down on ResourceCalculatorProcessTree overheads in Tez.
  TEZ-1703. addendum - fix flaky test.
  TEZ-1725. Fix nanosecond to millis conversion in TezMxBeanResourceCalculator.
  TEZ-1726. Build broken against Hadoop-2.6.0 due to change in NodeReport.
  TEZ-1579. MR examples should be setting mapreduce.framework.name to yarn-tez.
  TEZ-1731. OnDiskMerger can end up clobbering files across tasks with LocalDiskFetch enabled.
  TEZ-1735. Allow setting basic info per DAG for Tez UI.
  TEZ-1728. Remove local host name from Fetcher thread name.
  TEZ-1547. Make use of state change notifier in VertexManagerPlugins and fix
  TEZ-1494 without latency penalty

Release 0.5.1: 2014-10-02

INCOMPATIBLE CHANGES
  TEZ-1488. Rename HashComparator to ProxyComparator and implement in TezBytesComparator
  TEZ-1578. Remove TeraSort from Tez codebase.
  TEZ-1499. Add SortMergeJoinExample to tez-examples
  TEZ-1539. Change InputInitializerEvent semantics to SEND_ONCE_ON_TASK_SUCCESS
  TEZ-1571. Add create method for DataSinkDescriptor.

ALL CHANGES
  TEZ-1544. Link to release artifacts for 0.5.0 does not point to a specific link for 0.5.0.
  TEZ-1559. Add system tests for AM recovery.
  TEZ-850. Recovery unit tests.
  TEZ-853. Support counters recovery.
  TEZ-1345. Add checks to guarantee all init events are written to recovery to consider vertex initialized.
  TEZ-1575. MRRSleepJob does not pick MR settings for container size and java opts.
  TEZ-1488. Rename HashComparator to ProxyComparator and implement in TezBytesComparator
  TEZ-1578. Remove TeraSort from Tez codebase.
  TEZ-1569. Add tests for preemption
  TEZ-1580. Change TestOrderedWordCount to optionally use MR configs.
  TEZ-1524. Resolve user group information only if ACLs are enabled.
  TEZ-1581. GroupByOrderByMRRTest no longer functional.
  TEZ-1157. Optimize broadcast shuffle to download data only once per host. 
  TEZ-1594. Initial TezUI into TEZ-8 branch
  TEZ-1595. Document timeline server setup for use with the Tez UI
  TEZ-1157. Optimize broadcast shuffle to download data only once per host.
  TEZ-1607. support mr envs in mrrsleep and testorderedwordcount
  TEZ-1499. Add SortMergeJoinExample to tez-examples
  TEZ-1613. Decrease running time for TestAMRecovery
  TEZ-1240. Add system test for propagation of diagnostics for errors
  TEZ-1618. LocalTaskSchedulerService.getTotalResources() and getAvailableResources() can get
  negative if JVM memory is larger than 2GB
  TEZ-1611. Change DataSource/Sink to be able to supply URIs for credentials
  TEZ-1592. Vertex should wait for all initializers to finish before moving to INITED state
  TEZ-1612. ShuffleVertexManager's EdgeManager should not hard code source num tasks
  TEZ-1555. TestTezClientUtils.validateSetTezJarLocalResourcesDefinedButEmpty
  failing on Windows
  TEZ-1609. Add hostname to logIdentifiers of fetchers for easy debugging
  TEZ-1494. DAG hangs waiting for ShuffleManager.getNextInput()
  TEZ-1515. Remove usage of ResourceBundles in Counters.
  TEZ-1527. Fix indentation of Vertex status in DAGClient output.
  TEZ-1536. Fix spelling typo "configurartion" in TezClientUtils.
  TEZ-1310. Update website documentation framework
  TEZ-1447. Provide a mechanism for InputInitializers to know about Vertex state changes.
  TEZ-1362. Remove DAG_COMPLETED in DAGEventType.
  TEZ-1519. TezTaskRunner should not initialize TezConfiguration in TezChild.
  TEZ-1534. Make client side configs available to AM and tasks.
  TEZ-1574. Support additional formats for the tez deployed archive
  TEZ-1563. TezClient.submitDAGSession alters DAG local resources regardless
  of DAG submission
  TEZ-1585. Memory leak in tez session mode.
  TEZ-1533. Request Events more often if a complete set of events is received by a task.
  TEZ-1587. Some tez-examples fail in local mode.
  TEZ-1597. ImmediateStartVertexManager should handle corner case of vertex having zero tasks.
  TEZ-1495. ATS integration for TezClient
  TEZ-1553. Multiple failures in testing path-related tests in
  TestTezCommonUtils for Windows
  TEZ-1598. DAGClientTimelineImpl uses ReflectiveOperationException (which has JDK 1.7 dependency)
  TEZ-1599. TezClient.preWarm() is not enabled
  TEZ-1550. TestEnvironmentUpdateUtils.testMultipleUpdateEnvironment fails on
  Windows
  TEZ-1554. Failing tests in TestMRHelpers related to environment on Windows
  TEZ-978. Enhance auto parallelism tuning for queries having empty outputs or data skewness
  TEZ-1433. Invalid credentials can be used when a DAG is submitted to a
  session which has timed out
  TEZ-1624. Flaky tests in TestContainerReuse due to race condition in DelayedContainerManager thread

Release 0.5.0: 2014-09-03

INCOMPATIBLE CHANGES
  TEZ-1038. Move TaskLocationHint outside of VertexLocationHint.
  TEZ-960. VertexManagerPluginContext::getTotalAVailableResource() changed to
  VertexManagerPluginContext::getTotalAvailableResource()
  TEZ-1025. Rename tez.am.max.task.attempts to tez.am.task.max.failed.attempts
  TEZ-1018. VertexManagerPluginContext should enable assigning locality to
  scheduled tasks
  TEZ-1169. Allow numPhysicalInputs to be specified for RootInputs.
  TEZ-1131. Simplify EdgeManager APIs
  TEZ-1127. Add TEZ_TASK_JAVA_OPTS and TEZ_ENV configs to specify values from
  config
  TEZ-692. Unify job submission in either TezClient or TezSession
  TEZ-1130. Replace confusing names on Vertex API
  TEZ-1213. Fix parameter naming in TezJobConfig.
    - Details at https://issues.apache.org/jira/browse/TEZ-1213?focusedCommentId
    =14039381&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpa
    nel#comment-14039381
  TEZ-1080, TEZ-1272, TEZ-1279, TEZ-1266. Change YARNRunner to use EdgeConfigs.
    - Removes separation of runtime configs into input/ouput configs. Also
    refactors public methods used for this conversion.
  TEZ-696. Remove implicit copying of processor payload to input and output
  TEZ-1269. TaskScheduler prematurely releases containers
  TEZ-857. Split Input/Output interfaces into user/framework components.
  TEZ-866. Add a TezMergedInputContext for MergedInputs
  TEZ-1137. Move TezJobConfig to runtime-library and rename to
  TezRuntimeConfiguration
  TEZ-1134. InputInitializer and OutputCommitter implicitly use payloads of
  the input and output
  TEZ-1312. rename vertex.addInput/Output() to vertex.addDataSource/Sink()
  TEZ-1311. get sharedobjectregistry from the context instead of a static
  TEZ-1300. Change deploy mechanism for Tez to be based on a tarball which
  includes Hadoop libs.
  TEZ-1278. TezClient#waitTillReady() should not swallow interrupts
  TEZ-1058. Replace user land interfaces with abstract classes
  TEZ-1303. Change Inputs, Outputs, InputInitializer, OutputCommitter, VertexManagerPlugin, EdgeManager
  to require constructors for creation, and remove the initialize methods.
  TEZ-1133. Remove some unused methods from MRHelpers.
  TEZ-1346. Change Processor to require context constructors for creation, and remove the requirement of the initialize method requiring the context.
  TEZ-1041. Use VertexLocationHint consistently everywhere in the API
  TEZ-1057. Replace interfaces with abstract classes for
  Processor/Input/Output classes
  TEZ-1351. MROutput needs a flush method to ensure data is materialized for
  FileOutputCommitter
  TEZ-1317. Simplify MRinput/MROutput configuration
  TEZ-1379. Allow EdgeConfigurers to accept Configuration for Comparators. Change the way partitioner, comparator, combiner confs are set (from Hadoop Configuration to Map). Rename specific Input/Output classes from *Configuration to *Configurer.
  TEZ-1382. Change ObjectRegistry API to allow for future extensions
  TEZ-1386. TezGroupedSplitsInputFormat should not need to be setup to enable grouping.
  TEZ-1394. Create example code for OrderedWordCount
  TEZ-1372. Fix preWarm to work after recent API changes
  TEZ-1237. Consolidate naming of API classes
  TEZ-1407. Move MRInput related methods out of MRHelpers and consolidate.
  TEZ-1194. Make TezUserPayload user facing for payload specification
  TEZ-1347. Consolidate MRHelpers.
  TEZ-1072. Consolidate monitoring APIs in DAGClient
  TEZ-1410. DAGClient#waitForCompletion() methods should not swallow interrupts
  TEZ-1416. tez-api project javadoc/annotations review and clean up
  TEZ-1425. Move constants to TezConstants
  TEZ-1388. mvn site is slow and generates errors
  TEZ-1432. Rename property to cancel delegation tokens on app completion (tez.am.am.complete.cancel.delegation.tokens)
  TEZ-1320. Remove getApplicationId from DAGClient
  TEZ-1427. Change remaining classes that are using byte[] to UserPayload
  TEZ-1418. Provide Default value for TEZ_AM_LAUNCH_ENV and TEZ_TASK_LAUNCH
  TEZ-1438. Annotate add java doc for tez-runtime-library and tez-mapreduce
  TEZ-1055. Rename tez-mapreduce-examples to tez-examples
  TEZ-1132. Consistent naming of Input and Outputs
  TEZ-1423. Ability to pass custom properties to keySerializer for
  OnFileUnorderedPartitionedKVOutput
  TEZ-1426. Create configuration helpers for ShuffleVertexManager and
  TezGrouping code
  TEZ-1390. Replace byte[] with ByteBuffer as the type of user payload in the API
  TEZ-1417. Rename Configurer* to Config/ConfigBuilder
  TEZ-1450. Documentation of TezConfiguration
  TEZ-1231. Clean up TezRuntimeConfiguration
  TEZ-1246. Replace constructors with create() methods for DAG, Vertex, Edge etc in the API
  TEZ-1455. Replace deprecated junit.framework.Assert with org.junit.Assert
  TEZ-1465. Update and document IntersectExample. Change name to JoinExample
  TEZ-1449. Change user payloads to work with a byte buffer
  TEZ-1469. AM/Session LRs are not shipped to vertices in new API use-case
  TEZ-1472. Separate method calls for creating InputDataInformationEvent with
  serialized/unserialized payloads
  TEZ-1485. Disable node blacklisting and ATS in AM for local mode
  TEZ-1463. Remove dependency on private class org.apache.hadoop.util.StringUtils
  TEZ-1476. DAGClient waitForCompletion output is confusing
  TEZ-1490. dagid reported is incorrect in TezClient.java
  TEZ-1500. DAG should be created via a create method
  TEZ-1509. Set a useful default value for java opts

ALL CHANGES

  TEZ-1516. Log transfer rates for broadcast fetch. (sseth)
  TEZ-1511. MROutputConfigBuilder sets OutputFormat as String class if OutputFormat is not provided (bikas)
  TEZ-1509. Set a useful default value for java opts (bikas)
  TEZ-1517. Avoid sending routed events via the AsyncDispatcher. (sseth)
  TEZ-1510. Add missed file. TezConfiguration should not add tez-site.xml as a default resource. (hitesh)
  TEZ-1510. Addendum patch. TezConfiguration should not add tez-site.xml as a default resource. (hitesh)
  TEZ-1510. TezConfiguration should not add tez-site.xml as a default resource. (hitesh)
  TEZ-1501. Add a test dag to generate load on the getTask RPC. (sseth)
  TEZ-1481. Flaky test : org.apache.tez.dag.api.client.TestDAGClientHandler.testDAGClientHandler (Contributed by Alexander Pivovarov)
  TEZ-1512. VertexImpl.getTask(int) can be CPU intensive when lots of tasks are present in the vertex
  TEZ-1492. IFile RLE not kicking in due to bug in BufferUtils.compare()
  TEZ-1496. Multi MR inputs can not be configured without accessing internal proto structures (Siddharth Seth via bikas)
  TEZ-1493. Tez examples sometimes fail in cases where AM recovery kicks in. (Jeff Zhang via hitesh)
  TEZ-1038. Move TaskLocationHint outside of VertexLocationHint. (Alexander Pivovarov via hitesh)
  TEZ-1475. Fix HDFS commands in INSTALL.txt (bikas)
  TEZ-1500. DAG should be created via a create method (Siddharth Seth via bikas)
  TEZ-1430. Javadoc generation should not generate docs for classes annotated as private. (Jonathan Eagles via hitesh)
  TEZ-1498. Usage info is not printed when wrong number of arguments is provided for JoinExample. (Jeff Zhang via hitesh)
  TEZ-1486. Event routing should not throw an exception if the EdgePlugin does not generate a routing table in cases where the destination vertex has a parallelism of 0. (sseth)
  TEZ-1490. dagid reported is incorrect in TezClient.java (jeagles)
  TEZ-1476. DAGClient waitForCompletion output is confusing (jeagles)
  TEZ-1471. Additional supplement for TEZ local mode document. Contributed by Chen He.
  TEZ-1360. Provide vertex parallelism to each vertex task. Contributed by Gopal V, Johannes Zillmann and Rajesh Balamohan.
  TEZ-1463. Remove dependency on private class org.apache.hadoop.util.StringUtils (Alexander Pivovarov via jeagles)
  TEZ-1448. Make WeightedScalingMemoryDistributor as the default memory distributor (Rajesh Balamohan)
  TEZ-1485. Disable node blacklisting and ATS in AM for local mode (jeagles)
  TEZ-1446. Move the fetch code for local disk fetch from data movement event handlers to fetcher. Contributed by Prakash Ramachandran.
  TEZ-1487. Switch master to 0.6.0-SNAPSHOT. (hitesh)
  TEZ-1474. detect missing native libraries for compression at the beginning of a task rather than at the end. Contributed by Prakash Ramachandran.
  TEZ-1436. Fix javadoc warnings (Jonathan Eagles via bikas)
  TEZ-1472. Separate method calls for creating InputDataInformationEvent with serialized/unserialized payloads (Siddharth Seth via bikas)
  TEZ-1469. AM/Session LRs are not shipped to vertices in new API use-case (bikas)
  TEZ-1464 Addendum. Update INSTALL.txt (bikas)
  TEZ-1464. Update INSTALL.txt (bikas)
  TEZ-1449. Change user payloads to work with a byte buffer (Siddharth Seth via bikas)
  TEZ-1325. RecoveryParser can find incorrect last DAG ID. (Jeff Zhang via hitesh)
  TEZ-1466. Fix JDK8 builds of Tez (gopalv)
  TEZ-1251. Fix website to not display latest snapshot version in header. (Alexander Pivovarov via hitesh)
  TEZ-1465. Update and document IntersectExample. Change name to JoinExample (bikas)
  TEZ-1458. org.apache.tez.common.security.Groups does not compile against hadoop-2.2.0 anymore. (hitesh)
  TEZ-1455. Replace deprecated junit.framework.Assert with org.junit.Assert (Alexander Pivovarov via jeagles)
  TEZ-1454. Remove unused imports (Alexander Pivovarov via bikas)
  TEZ-1415. Merge various Util classes in Tez (Alexander Pivovarov via bikas)
  TEZ-1461. Add public key to KEYS (bikas)
  TEZ-1452. Add license and notice to jars (bikas)
  TEZ-1456. Fix typo in TestIFile.testWithRLEMarker (Contributed by Alexander Pivovarov)
  TEZ-1246. Replace constructors with create() methods for DAG, Vertex, Edge etc in the API. (sseth)
  TEZ-1453. Fix rat check for 0.5 (bikas)
  TEZ-1231. Clean up TezRuntimeConfiguration (bikas)
  TEZ-1450. Documentation of TezConfiguration (bikas)
  TEZ-1417. Rename *Configurer to ConfigBuilder/Config. (sseth)
  TEZ-1349. Add documentation for LocalMode usage. (sseth)
  TEZ-1390. Replace byte[] with ByteBuffer as the type of user payload in the API. Contributed by Tsuyoshi OZAWA.
  TEZ-1395. Fix failure in IFile handling of compressed data. (Rajesh Balamohan via hitesh)
  TEZ-1445. Add more logging to catch shutdown handler race conditions. (hitesh)
  TEZ-1426. Create configuration helpers for ShuffleVertexManager and TezGrouping code (Rajesh Balamohan via bikas)
  TEZ-1439. IntersectDataGen/Example/Validate should move back to tez-examples. (hitesh)
  TEZ-1423. Ability to pass custom properties to keySerializer for OnFileUnorderedPartitionedKVOutput (Siddharth Seth via bikas)
  TEZ-1132. Consistent naming of Input and Outputs (bikas)
  TEZ-1400. Reducers stuck when enabling auto-reduce parallelism
  TEZ-1055 addendum. Rename tez-mapreduce-examples to tez-examples (Hitesh Shah via bikas)
  TEZ-1055. Rename tez-mapreduce-examples to tez-examples (Hitesh Shah via bikas)
  TEZ-1438. Annotate add java doc for tez-runtime-library and tez-mapreduce. (bikas via hitesh)
  TEZ-1411. Address initial feedback on swimlanes (gopalv)
  TEZ-1418. Provide Default value for TEZ_AM_LAUNCH_ENV and TEZ_TASK_LAUNCH (Subroto Sanyal via bikas)
  TEZ-1065 addendum-1 to fix broken test (bikas)
  TEZ-1435. Fix unused imports. (hitesh)
  TEZ-1434. Make only wait apis in TezClient to throw InterruptedException. (hitesh)
  TEZ-1427. Change remaining classes that are using byte[] to UserPayload. (sseth)
  TEZ-1429. Avoid sysexit in the DAGAM in case of local mode. (sseth)
  TEZ-1338. Support submission of multiple applications with LocalRunner from within the same JVM. (sseth)
  TEZ-1334. Annotate all non public classes in tez-runtime-library with @private. (hitesh)
  TEZ-1320. Remove getApplicationId from DAGClient (Jonathan Eagles via bikas)
  TEZ-1065 addendum to fix broken test (bikas)
  TEZ-1431. Fix use of synchronized for certain functions in TezClient. (hitesh)
  TEZ-1065. DAGStatus.getVertexStatus and other vertex related API's should maintain vertex order (Jeff Zhang via bikas)
  TEZ-1432. TEZ_AM_CANCEL_DELEGATION_TOKEN is named inorrectly. (sseth)
  TEZ-1388. mvn site is slow and generates errors (jeagles)
  TEZ-1409. Change MRInputConfigurer, MROutputConfigurer to accept complete configurations. (sseth)
  TEZ-1425. Move constants to TezConstants (bikas)
  TEZ-1416. tez-api project javadoc/annotations review and clean up (bikas)
  TEZ-671. Support View/Modify ACLs for DAGs. (hitesh)
  TEZ-1413. Fix build for TestTezClientUtils.testLocalResourceVisibility (Prakash Ramachandran via bikas)
  TEZ-1422. Use NetUtils to create the bind address for the client, which allows clients to setup static address resolution. Contributed by Johannes Zillmann.
  TEZ-1410. DAGClient#waitForCompletion() methods should not swallow interrupts. Contributed by Johannes Zillmann.
  TEZ-1419. Release link broken on website for 0.4.1 release. (hitesh)
  TEZ-1072. Consolidate monitoring APIs in DAGClient (jeagles)
  TEZ-1420. Remove unused classes - LocalClientProtocolProviderTez, LocalJobRunnerMetricsTez, LocalJobRunnerTez. (sseth)
  TEZ-1330. Create a default dist target which contains jars. (sseth)
  TEZ-1414. Disable TestTezClientUtils.testLocalResourceVisibility to make builds pass(bikas)
  TEZ-1347. Consolidate MRHelpers. (sseth)
  TEZ-1402. MRoutput configurer should allow disabling the committer (bikas)
  TEZ-817. TEZ_LIB_URI are always uploaded as public Local Resource (Prakash Ramachandran via bikas)
  TEZ-1404. groupCommitInProgress in RecoveryTransition of DAGImpl is not set correctly. (Jeff Zhang via hitesh)
  TEZ-1024. Fix determination of failed attempts in recovery. (Jeff Zhang via hitesh)
  TEZ-1403. oah.mapred.Partitioner is not configured by JobConf. Contributed by Navis.
  TEZ-1399. Add an example to show session usage (bikas)
  TEZ-1194. Make TezUserPayload user facing for payload specification (Tsuyoshi Ozawa and bikas)
  TEZ-1393. user.dir should not be reset in LocalMode. (sseth)
  TEZ-1216. Clean up the staging directory when the application completes. (hitesh) This closes #3
  TEZ-1407. Move MRInput related methods out of MRHelpers and consolidate. (sseth)
  TEZ-1205. Remove profiling keyword from APIs/configs
  TEZ-1405. TestSecureShuffle is slow (Rajesh Balamohan via bikas)
  TEZ-1237. Consolidate naming of API classes (bikas)
  TEZ-1391. Setup IGNORE_LIB_URIS correctly for Local Mode. (sseth)
  TEZ-1318 addendum. Simplify Vertex Constructor (bikas)
  TEZ-1318. Simplify Vertex Constructor (bikas)
  TEZ-1372. Remove author tag from previous commit (bikas)
  TEZ-1372. Fix preWarm to work after recent API changes (bikas)
  TEZ-1372. Fix preWarm to work after recent API changes (bikas)
  TEZ-1394. Create example code for OrderedWordCount (bikas)
  TEZ-1394. Create example code for OrderedWordCount (bikas)
  TEZ-1392. Fix MRRSleepJob failure. (sseth)
  TEZ-1386. TezGroupedSplitsInputFormat should not need to be setup to enable grouping. (sseth)
  TEZ-1385. Disk Direct fails for MapOutput when trying to use OnDiskMerger. Contributed by Prakash Ramachandran.
  TEZ-1382. Change ObjectRegistry API to allow for future extensions (bikas)
  TEZ-1332. Swimlane diagrams from tez AM logs (gopalv)
  TEZ-1368. TestSecureShuffle failing
  TEZ-1379. Allow EdgeConfigurers to accept Configuration for Comparators. Change the way partitioner, comparator, combiner confs are set (from Hadoop Configuration to Map). Rename specific Input/Output classes from *Configuration to *Configurer. (sseth)
  TEZ-1317. Simplify MRinput/MROutput configuration (bikas)
  TEZ-1351. MROutput needs a flush method to ensure data is materialized for FileOutputCommitter (bikas)
  TEZ-1368 is fixed. (hitesh)
  TEZ-1057. Replace interfaces with abstract classes for Processor/Input/Output classes (bikas)
  TEZ-1041. Use VertexLocationHint consistently everywhere in the API (bikas)
  TEZ-1343. Bypass the Fetcher and read directly from the local filesystem if source task ran on the same host. Contributed by Prakash Ramachandran.
  TEZ-1365. Local mode should ignore tez.lib.uris, and set a config for the AM to be aware of session mode. (sseth)
  TEZ-1355. Read host and shuffle meta-information for events only if data is generated by Outputs. Contributed by Jonathan Eagles.
  TEZ-1342. Fix a bug which caused tez.am.client.am.port-range to not take effect. Contributed by Jeff Zhang.
  TEZ-870. Change LocalContainerLauncher to handle multiple threads, improve error reporting and inform other components about container completion. (sseth)
  TEZ-1352. HADOOP_CONF_DIR should be in the classpath for containers. (sseth)
  TEZ-1238. Display more clear diagnostics info on client side on task failures. (Jeff Zhang via hitesh)
  TEZ-1354. Fix NPE in FilterByWordOutputProcessor. Contributed by Jonathan Eagles.
  TEZ-1322. OrderedWordCount broken in master branch. (hitesh)
  TEZ-1341. IFile append() has string concats leading to memory pressure
  TEZ-1346. Change Processor to require context constructors for creation, and remove the requirement of the initialize method requiring the context. (sseth)
  TEZ-1064. Restore dagName Set for duplicate detection in recovered AMs. (Jeff Zhang via hitesh)
  TEZ-1133 as incompatible.
  TEZ-1133. Remove some unused methods from MRHelpers. Contributed by Chen He.
  TEZ-1303. Change Inputs, Outputs, InputInitializer, OutputCommitter, VertexManagerPlugin, EdgeManager to require constructors for creation, and remove the initialize methods. (sseth)
  TEZ-1276. Remove unnecessary TaskAttemptEventType TA_FAIL_REQUEST. (Jeff Zhang via hitesh)
  TEZ-1326. AMStartedEvent should not be recovery event. (Jeff Zhang via hitesh)
  TEZ-1333. Flaky test: TestOnFileSortedOutput fails in jenkins server with OOM
  TEZ-717. Client changes for local mode DAG submission. Contributed by Jonathan Eagles.
  TEZ-707. Add a LocalContainerLauncher. Contributed by Chen He.
  TEZ-1058. Replace user land interfaces with abstract classes (bikas)
  TEZ-1324. OnFileSortedOutput: send host/port/pathComponent details only when one of the partitions has data
  TEZ-1328. Move EnvironmentUpdateUtils to tez-common
  TEZ-1278. TezClient#waitTillReady() should not swallow interrupts. Contributed by Johannes Zillmann.
  TEZ-1305: Log job tracking url (rohini)
  TEZ-1257. Error on empty partition when using OnFileUnorderedKVOutput and ShuffledMergedInput
  TEZ-1300. Change default tez classpath to not include hadoop jars from the cluster. (sseth)
  TEZ-1321. Remove methods annotated as @Private from TezClient and DAGClient. (sseth)
  TEZ-1288. Create FastTezSerialization as an optional feature (rajesh)
  TEZ-1304. Abstract out client interactions with YARN. Contributed by Jonathan Eagles.
  TEZ-1306. Remove unused ValuesIterator. Contributed by Jonathan Eagles.
  TEZ-1127 addendum for changing tez.am.java.opts. Add TEZ_TASK_JAVA_OPTS and TEZ_ENV configs to specify values from config (bikas)
  TEZ-1311. get sharedobjectregistry from the context instead of a static (bikas)
  TEZ-1312. rename vertex.addInput/Output() to vertex.addDataSource/Sink() (Chen He via bikas)
  TEZ-1134. InputInitializer and OutputCommitter implicitly use payloads of the input and output (bikas)
  TEZ-1309. Use hflush instead of hsync in recovery log. (hitesh)
  TEZ-1137. Move TezJobConfig to runtime-library and rename to TezRuntimeConfiguration (bikas)
  TEZ-1247. Allow DAG.verify() to be called multiple times (Jeff Zhang via bikas)
  TEZ-1299. Get rid of unnecessary setter override in EntityDescriptors. (sseth)
  TEZ-866. Add a TezMergedInputContext for MergedInputs (bikas)
  TEZ-1296. commons-math3 dependency (bikas)
  TEZ-1301. Fix title of pages in docs. (hitesh)
  TEZ-811. Addendum. Update page title. (hitesh)
  TEZ-811. Update docs on how to contribute to Tez. (hitesh)
  TEZ-1242. Icon. Logos for Tez (Harshad P Dhavale via bikas)
  TEZ-1298. Add parameterized constructor capabilities in ReflectionUtils. Contributed by Jonathan Eagles.
  TEZ-1242. Logos for Tez (Harshad P Dhavale via bikas)
  TEZ-1242. Logos for Tez (Harshad P Dhavale via bikas)
  TEZ-1295. Modify the tez-dist-full build target to include hadoop libraries. Also makes the tez direct dependencies explicit in the poms. (sseth)
  TEZ-857. Split Input/Output interfaces into user/framework components. (sseth)
  TEZ-1290. Make graduation related changes. (hitesh)
  TEZ-1269. TaskScheduler prematurely releases containers (bikas)
  TEZ-1269. TaskScheduler prematurely releases containers (bikas)
  TEZ-1119. Support display of user payloads in Tez UI. (hitesh)
  TEZ-1089. Change CompositeDataMovementEvent endIndex to a count of number of events. Contributed by Chen He.
  TEZ-696. Remove implicit copying of processor payload to input and output (bikas)
  TEZ-1285. Add Utility for Modifying Environment Variables. Contributed by Jonathan Eagles and Oleg Zhurakousky.
  TEZ-1287. TestJavaProfilerOptions is missing apache license header. Contributed by Jonathan Eagles.
  TEZ-1260. Allow KeyValueWriter to support writing list of values
  TEZ-1244. Fix typo in RootInputDataInformationEvent javadoc. Contributed by Chen He.
  TEZ-1266. Create *EdgeConfigurer.createDefaultCustomEdge() and force setting partitioners where applicable. (sseth)
  TEZ-1279. Rename *EdgeConfiguration to *EdgeConfigurer. (sseth)
  TEZ-1272. Change YARNRunner to make use of EdgeConfigurations. (sseth)
  TEZ-1130. Replace confusing names on Vertex API (bikas)
  TEZ-1228. Define a memory & merge optimized vertex-intermediate file format for Tez
  TEZ-1076. Allow events to be sent to InputInitializers. (sseth)
  TEZ-657. Tez should process the Container exit status - specifically when the RM preempts a container (bikas)
  TEZ-1262. Change Tez examples to use Edge configs. (sseth)
  TEZ-1241 Consistent getter for staging dir (kamrul)
  TEZ-1131 addendum for missing fix. Simplify EdgeManager APIs (bikas)
  TEZ-1118. Tez with container reuse reports negative CPU usage. Contributed by Robert Grandl.
  TEZ-1131 (bikas)
  TEZ-1080. Add specific Configuration APIs for non MR based Inputs / Outputs. (sseth)
  TEZ-225. Tests for DAGClient (Jeff Zhang via bikas)
  TEZ-1258. Remove unused class JobStateInternal. Contributed by Jeff Zhang.
  TEZ-1253. Remove unused VertexEventTypes. Contributed by Jeff Zhang.
  TEZ-1170 addendum to remove unnecessary transitions. Simplify Vertex Initializing transition (bikas)
  TEZ-692. Unify job submission in either TezClient or TezSession (bikas)
  TEZ-1163. Tez Auto Reducer-parallelism throws Divide-by-Zero
  TEZ-699. Have sensible defaults for java opts. (hitesh)
  TEZ-387. Move DAGClientHandler into its own class (Jeff Zhang via bikas)
  TEZ-1234. Replace Interfaces with Abstract classes for VertexManagerPlugin and EdgeManager. (hitesh)
  TEZ-1218. Make TaskScheduler an Abstract class instead of an Inteface. Contributed by Jeff Zhang.
  TEZ-1127. Add TEZ_TASK_JAVA_OPTS and TEZ_ENV configs to specify values from config
  TEZ-1214. Diagnostics of Vertex is missing when constructing TimelineEntity. (Jeff Zhang via hitesh)
  TEZ-106. TaskImpl does not hold any diagnostic information that can be emitted to history. (Jeff Zhang via hitesh)
  TEZ-1219. Addendum. Fix roles. (hitesh)
  TEZ-1219. Update team list to match incubator status page. (hitesh)
  TEZ-1213. Fix parameter naming in TezJobConfig. (sseth)
  TEZ-1168. Add MultiMRInput, which can process multiple splits, and returns individual readers for each of these. (sseth)
  TEZ-1106. Tez framework should use a unique subdir for staging data. (Mohammad Kamrul Islam via hitesh)
  TEZ-1042.Stop re-routing stdout, stderr for tasks and AM. (sseth)
  TEZ-1208. Log time taken to connect/getInputStream to a http source in fetcher. Contributed by Rajesh Balamohan.
  TEZ-1172. Allow multiple Root Inputs to be specified per Vertex. (sseth)
  TEZ-1170 Simplify Vertex Initializing transition (bikas)
  TEZ-1193. Allow 'tez.lib.uris' to be overridden (Oleg Zhurakousky via bikas)
  TEZ-1032. Allow specifying tasks/vertices to be profiled. (Rajesh Balamohan via hitesh)
  TEZ-1131. Simplify EdgeManager APIs
  TEZ-1169 addendum to modify the incompatible change list in CHANGES.txt
  TEZ-1169. Allow numPhysicalInputs to be specified for RootInputs. (sseth)
  TEZ-1192. Fix loop termination in TezChild. Contributed by Oleg Zhurakousky.
  TEZ-1178. Prevent duplicate ObjectRegistryImpl inits in TezChild. (gopalv)
  TEZ-1199. EdgeVertexName in EventMetaData can be null. (hitesh)
  TEZ-1196. FaultToleranceTestRunner should allow passing generic options from cli (Karam Singh via tassapola)
  TEZ-1162. The simple history text files now use ^A\n as their line endings.
  TEZ-1164. Only events for tasks should be buffered in Initializing state (bikas)
  TEZ-1171. Vertex remains in INITED state if all source vertices start while the vertex was in INITIALIZING state (bikas)
  TEZ-373. Create UserPayload class for internal code (Tsuyoshi OZAWA via bikas)
  TEZ-1151. Vertex should stay in initializing state until custom vertex manager sets the parallelism (bikas)
  TEZ-1145. Vertices should not start if they have uninitialized custom edges (bikas)
  TEZ-1143 (addendum). 1-1 source split event should be handled in Vertex.RUNNING and Vertex.INITED state (bikas)
  TEZ-1116. Refactor YarnTezDAGChild to be testable and usable for LocalMode. (sseth)
  TEZ-1143. 1-1 source split event should be handled in Vertex.RUNNING state (bikas)
  TEZ-800. One-one edge with parallelism -1 fails if source vertex parallelism is not -1 as well (bikas)
  TEZ-1154. tez-mapreduce-examples should depend on yarn-api. (hitesh)
  TEZ-1090. Micro optimization - Remove duplicate updateProcessTree() in TaskCounterUpdater. (Rajesh Balamohan via hitesh)
  TEZ-1027. orderedwordcount needs to respect tez.staging-dir property. (Rekha Joshi via hitesh)
  TEZ-1150. Replace String EdgeId with Edge in the Vertex (bikas)
  TEZ-1066. Generate events to integrate with YARN timeline server. (hitesh)
  TEZ-1140. TestSecureShuffle leaves behind test data dirs. (hitesh)
  TEZ-1039. Add Container locality to TaskScheduler (bikas)
  TEZ-1139. Add a test for IntersectDataGen and IntersectValidate. (sseth)
  TEZ-1126. Add a data generator and validator for the intersect example. (sseth)
  TEZ-1114. Fix encrypted shuffle. Contributed by Rajesh Balamohan.
  TEZ-1128. OnFileUnorderedPartitionedKVOutput does not handle partitioning correctly with the MRPartitioner. (sseth)
  TEZ-1121. Clean up avro dependencies. (hitesh)
  TEZ-1111. TestMRHelpers fails if HADOOP_COMMON_HOME is defined in the shell env. ( Mohammad Kamrul Islam via hitesh)
  TEZ-1099. Minor documentation improvement and Eclipse direct import friendlyness. Contributed by Thiruvalluvan M. G.
  TEZ-1112. MROutput committer should be initialized from initialized OutputFormat. Contributed by Rohini Palaniswamy.
  TEZ-1102. Abstract out connection management logic in shuffle code. Contributed by Rajesh Balamohan.
  TEZ-1088. Flaky Test: TestFaultTolerance.testInputFailureCausesRerunAttemptWithinMaxAttemptSuccess (Tassapol Athiapinya via bikas)
  TEZ-1105. Fix docs to ensure users are aware of adding "*" for HADOOP_CLASSPATH. (hitesh)
  TEZ-1091. Respect keepAlive when shutting down Fetchers. Contributed by Rajesh Balamohan.
  TEZ-1093. Add an example for OnFileUnorderedPartitionedOutput. (sseth)
  TEZ-661. Add an implementation for a non sorted, partitioned, key-value output. (sseth)
  TEZ-1002. Generate Container Stop history events. Contributed by Gopal V.
  TEZ-1085. Leave env values unchanged if they aren't set on the client. Contributed by Rohini Palaniswamy.
  TEZ-1082. Fix the mechanism used by the Fetcher to check for an open connection when draining the error stream. Contributed by Rajesh Balamohan
  TEZ-886. Add @Nullable annotation at API level (Tsuyoshi OZAWA via bikas)
  TEZ-802. Determination of Task Placement for 1-1 Edges (bikas)
  TEZ-1079. Make tez example jobs use the ToolRunner framework (Devaraj K via bikas)
  TEZ-1087. ShuffleManager fails with IllegalStateException (Cheolsoo Park via bikas)
  TEZ-1074. Reduce the frequency at which counters are sent from the task to the AM to reduce AM CPU usage. Contributed by Rajesh Balamohan.
  TEZ-1062. Create SimpleProcessor for processors that only need to implement the run method (Mohammad Kamrul Islam via bikas)
  TEZ-1073. RLE fast-forward merge for IFile (gopalv)
  TEZ-1023. Tez runtime configuration changes by users may not get propagated to jobs. Contributed by Rajesh Balamohan.
  TEZ-698. Make it easy to create and configure MRInput/MROutput and other inputs/outputs (bikas)
  TEZ-1018. VertexManagerPluginContext should enable assigning locality to scheduled tasks (bikas)
  TEZ-1077. Add unit tests for SortedMergedGroupedInput. (sseth)
  TEZ-1003. Add a MergedInput to combine multiple ShuffledMergedInputs. Contributed by Rohini Palaniswamy.
  TEZ-873. Expose InputSplit via MRInputLegacy, and underlying splits via TezGroupedSplits. Contributed by Mohammad Kamrul Islam.
  TEZ-737. DAG name should be unique within a Tez Session. (Mohammad Kamrul Islam via hitesh)
  TEZ-919. Fix shutdown handling for Shuffle. (sseth)
  TEZ-988. Enable KeepAlive in Tez Fetcher (Rajesh Balamohan via bikas)
  TEZ-695. Create Abstract class for Input/Processor/Output (Mohammad Kamrul Islam via bikas)
  Revert "TEZ-695. Create Abstract class for Input/Processor/Output (Mohammad Kamrul Islam via bikas)"
  TEZ-695. Create Abstract class for Input/Processor/Output (Mohammad Kamrul Islam via bikas)
  TEZ-708. Add a LocalTaskScheduler for use in Local mode. Contributed by Jonathan Eagles.
  TEZ-700. Helper API's to monitor a DAG to completion (Mohammad Kamrul Islam via bikas)
  TEZ-1053. Refactor: Pass TaskLocationHint directly to the Scheduling logic (bikas)
  TEZ-1049. Refactor - LocationHint need not be passed into TaskAttemptImpl's constructor (bikas)
  TEZ-480. Create InputReady VertexManager (bikas)
  TEZ-1007. MRHelpers.addLog4jSystemProperties() duplicates code from TezClientUtils.addLog4jSystemProperties(). (Thomas Jungblut via hitesh)
  TEZ-1025. Rename tez.am.max.task.attempts to tez.am.task.max.failed.attempts (bikas)
  TEZ-960. Addendum - updated CHANGES.txt for incompatible change. (hitesh)
  TEZ-37. TaskScheduler.addTaskRequest() should handle duplicate tasks (bikas)
  TEZ-960. Typos in MRJobConfig. (Chen He via hitesh)

Release 0.4.0-incubating: 2014-04-05

ALL CHANGES

  TEZ-932 addendum. Add missing license to file.
  TEZ-1001 addendum. Remove checked in jar. (sseth)
  TEZ-1001. Change unit test for AM relocalization to generate a jar, and remove previously checked in test jar. (sseth)
  TEZ-1000. Add a placeholder partitioned unsorted output. (sseth)
  TEZ-932. Add a weighted scaling initial memory allocator. (sseth)
  TEZ-989. Allow addition of resources to the AM for a running session. (sseth)
  TEZ-991. Fix a bug which could cause getReader to occasionally hang on ShuffledMergedInput. (sseth)
  TEZ-990. Add support for a credentials file read by TezClient. (sseth)
  TEZ-983. Support a helper function to extract required additional tokens from a file. (hitesh)
  TEZ-981. Port MAPREDUCE-3685. (sseth)
  TEZ-980. Data recovered flag file should be a namenode only OP. (hitesh)
  TEZ-973. Abort additional attempts if recovery fails. (hitesh)
  TEZ-976. WordCount example does not handle -D<param> args. (Tassapol Athiapinya via hitesh)
  TEZ-977. Flaky test: TestAMNodeMap - add more debug logging. (hitesh)
  TEZ-8649. Fix BufferOverflow in PipelinedSorter by ensuring the last block is big enough for one k,v pair (gopalv)
  TEZ-972. Shuffle Phase - optimize memory usage of empty partition data in DataMovementEvent. Contributed by Rajesh Balamohan.
  TEZ-879. Fix potential synchronization issues in runtime components. (sseth)
  TEZ-876. Fix graphviz dag generation for Hive. (hitesh)
  TEZ-951. Port MAPREDUCE-5028. Contributed by Gopal V and Siddharth Seth.
  TEZ-950. Port MAPREDUCE-5462. Contributed by Gopal V and Siddharth Seth.
  TEZ-971. Change Shuffle to report errors early rather than waiting for access before reporting them. (sseth)
  TEZ-970. Consolidate Shuffle payload to have a single means of indicating absence of a partition. (sseth)
  TEZ-969. Fix a bug which could cause the Merger to get stuck when merging 0 segments, in case of container re-use. (sseth)
  TEZ-968. Fix flush mechanism when max unflushed events count set to -1. (hitesh)
  TEZ-948. Log counters at the end of Task execution. (sseth)
  TEZ-964. Flaky test: TestAMNodeMap.testNodeSelfBlacklist. (hitesh)
  TEZ-966. Tez AM has invalid state transition error when datanode is bad. (hitesh)
  TEZ-949. Handle Session Tokens for Recovery. (hitesh)
  TEZ-955. Tez should close inputs after calling processor's close. (hitesh)
  TEZ-953. Port MAPREDUCE-5493. (sseth)
  TEZ-958. Increase sleeps in TestContainerReuse to fix flaky tests. (hitesh)
  TEZ-952. Port MAPREDUCE-5209 and MAPREDUCE-5251. (sseth)
  TEZ-956. Handle zero task vertices correctly on Recovery. (hitesh)
  TEZ-938. Avoid fetching empty partitions when the OnFileSortedOutput, ShuffledMergedInput pair is used. Contributed by Rajesh Balamohan.
  TEZ-934. Add configuration fields for Tez Local Mode (part of TEZ-684). Contributed by Chen He.
  TEZ-947. Fix OrderedWordCount job progress reporting to work across AM attempts. (hitesh)
  TEZ-944. Tez Job gets "Could not load native gpl library" Error. (hitesh)
  TEZ-851. Handle failure to persist events to HDFS. (hitesh)
  TEZ-940. Fix a memory leak in TaskSchedulerAppCallbackWrapper. Contributed by Gopal V and Siddharth Seth.
  TEZ-939. Fix build break caused by changes in YARN-1824. (sseth)
  TEZ-903. Make max maps per fetcher configurable in ShuffleScheduler. Contributed by Rajesh Balamohan.
  TEZ-942. Mrrsleep job with only maps fails with 'Illegal output to map'. (hitesh)
  TEZ-936. Remove unused event types from AMSchedulerEventType. (sseth)
  TEZ-933 addendum. Fix a unit test to work correctly. (sseth)
  TEZ-933. Change Vertex.getNumTasks to return the initially configured number of tasks if initialization has not completed. (sseth) depending on when it's called. (sseth)
  TEZ-935. Fix function names for Vertex Stats. (hitesh)
  TEZ-930. Addendum patch. Provide additional aggregated task stats at the vertex level. (hitesh)
  TEZ-930. Provide additional aggregated task stats at the vertex level. (hitesh)
  TEZ-931. DAGHistoryEvent should not be allowed to be sent to Dispatcher/EventHandlers. (hitesh)
  TEZ-904. Committer recovery events should be out-of-band. (hitesh)
  TEZ-813. Remove unused imports across project. (Jonathan Eagles via hitesh)
  TEZ-920. Increase defaults for number of counters, ensure AM uses this. (sseth)
  TEZ-928. NPE in last app attempt caused by registering for an RM unregister. (hitesh)
  TEZ-676. Tez job fails on client side if nodemanager running AM is lost. (Tsuyoshi Ozawa and hitesh via hitesh)
  TEZ-918. Fix a bug which could cause shuffle to hang if there are intermittent fetch failures. (sseth)
  TEZ-910. Allow ShuffledUnorderedKVInput to work for cases other than broadcast. (sseth)
  TEZ-911. Re-factor BroadcastShuffle related code to be independent of Braodcast. (sseth)
  TEZ-901. Improvements to Counters generated by runtime components. (sseth)
  TEZ-902. SortedMergedInput Fetcher can hang on retrying a bad input (bikas)
  Addendum to TEZ-804. Remove comments to add test since test has been added. Some new logs added. (bikas)
  TEZ-847. Support basic AM recovery. (hitesh)
  TEZ-915. TaskScheduler can get hung when all headroom is used and it cannot utilize existing new containers (bikas)
  TEZ-894. Tez should have a way to know build manifest. (Ashish Singh via hitesh)
  TEZ-893. Terasort gives ArrayIndexOutOfBound Exception for 'hadoop jar <jar> terasort'. (hitesh)
  TEZ-884. Add parameter checking for context related user API's (Tsuyoshi Ozawa via bikas)
  TEZ-906. Finalize Tez 0.3.0 release. (hitesh)
  TEZ-535. Redirect AM logs to different files when running multiple DAGs in the same AM. Contributed by  Mohammad Kamrul Islam.
  TEZ-887. Allow counters to be separated at a per Input/Output level. (sseth)
  TEZ-898. Handle inputReady and initial memory request in case of 0 physical inputs. (sseth)
  TEZ-896. Fix AM splits to work on secure clusters when using the mapred API. (sseth)
  TEZ-715. Auto Reduce Parallelism can rarely trigger NPE in AM at DAGAppMaster.handle(DAGAppMaster.java:1268) (bikas)
  TEZ-891. TestTaskScheduler does not handle mockApp being called on different thread (bikas)
  TEZ-889. Fixes a bug in MRInputSplitDistributor (caused by TEZ-880). (sseth)
  TEZ-883. Fix unit tests to use comma separated values in tests having output verification at more than 1 tasks. (Tassapol Athiapinya via bikas)
  TEZ-888. TestAMNodeMap.testNodeSelfBlacklist failing intermittently (bikas)
  TEZ-865. TezTaskContext.getDAGName() does not return DAG name (Tsuyoshi OZAWA via bikas)
  TEZ-885. TestTaskScheduler intermittent failures (bikas)
  TEZ-882. Update versions in master for next release. (hitesh)

Release 0.3.0-incubating: 2014-02-26

INCOMPATIBLE CHANGES

  TEZ-720. Inconsistency between VertexState and VertexStatus.State.
  TEZ-41. Get VertexCommitter from API and remove MRVertexOutputCommitter.
  TEZ-650. MRHelpers.createMRInputPayloadWithGrouping() methods should not
           take an MRSplitsProto argument.
  TEZ-827. Separate initialize and start operations on Inputs/Outputs.
  TEZ-668. Allow Processors to control Input/Output start.
  TEZ-837. Remove numTasks from VertexLocationHints.

ALL CHANGES

  TEZ-889. Fixes a bug in MRInputSplitDistributor (caused by TEZ-880). (sseth)
  TEZ-881. Update Notice and any other copyright tags for year 2014. (hitesh)
  TEZ-874. Fetcher inputstream is not buffered. (Rajesh Balamohan via hitesh)
  TEZ-880. Support sending deserialized data in RootInputDataInformationEvents. (sseth)
  TEZ-779. Make Tez grouping splits logic possible outside InputFormat (bikas)
  TEZ-844. Processors should have a mechanism to know when an Input is ready for consumption. (sseth)
  TEZ-878. doAssignAll() in TaskScheduler ignores delayedContainers being out of sync with heldContainers (bikas)
  TEZ-824. Failure of 2 tasks in a vertex having input failures (Tassapol Athiapinya via bikas)
  Addendum patch for TEZ-769. Change Vertex.setParallelism() to accept a set of EdgeManagerDescriptors. (hitesh)
  TEZ-769. Change Vertex.setParallelism() to accept a set of EdgeManagerDescriptors. (hitesh)
  TEZ-863 Addendum. Queue events for relevant inputs untill the Input has been started. Fixes a potential NPE in case of no auto start. (Contributed by Rajesh Balamohan)
  TEZ-289. DAGAppMasterShutdownHook should not report KILLED when exception brings down AM. (Tsuyoshi Ozawa via hitesh)
  TEZ-835. Fix a bug which could cause a divide by zero if a very small sort buffer is configured. (sseth)
  TEZ-842. Add built-in verification of expected execution pattern into TestFaultTolerance (Tassapol Athiapinya bikas)
  TEZ-863. Queue events for relevant inputs untill the Input has been started. Fixes a potential NPE in case of no auto start. (sseth)
  TEZ-788. Clean up dist tarballs. (Contributed by Jonathan Eagles)
  TEZ-619. Failing test: TestTaskScheduler.testTaskSchedulerWithReuse (Jonathan Eagles via bikas)
  TEZ-845. Handle un-blacklisting of nodes (bikas)
  TEZ-847. Visualize tez statemachines. (Min Zhou via hitesh)
  TEZ-823. Add DAGs with a vertex connecting with 2 downstream/upstream vertices and unit tests for fault tolerance on these DAGs (Tassapol Athiapinya via bikas)
  TEZ-787. Revert Guava dependency to 11.0.2. (sseth)
  TEZ-801. Support routing of event to multiple destination physical inputs (bikas)
  TEZ-854. Fix non-recovery code path for sessions. (hitesh)
  TEZ-837. Remove numTasks from VertexLocationHints. (sseth)
  TEZ-668. Allow Processors to control Input / Output start. (sseth)
  TEZ-843. Fix failing unit test post TEZ-756. (sseth)
  TEZ-816. Add unit test for cascading input failure (Tassapol Athiapinya via bikas)
  TEZ-825. Fix incorrect inheritance method calls in ThreeLevels and SixLevels failing dags. (Tassapol Athiapinya via bikas)
  TEZ-756 Addendum. Fix a unit test failure. (sseth)
  TEZ-840. Default value of DataMovementEventPayloadProto.data_generated should be true. (sseth)
  TEZ-756. Allow VertexManagerPlugins to configure RootInputEvents without access to Tez internal structures. (sseth)
  TEZ-804. Handle node loss/bad nodes (bikas)
  TEZ-836. Add ConcatenatedKeyValueInput for vertex groups (Gunther Hagleitner via bikas)
  TEZ-755. Change VertexManagerPlugin.initialize and context to be consistent with the rest of the context objects (bikas)
  TEZ-833. Have the Tez task framework set Framework counters instead of MR Processors setting them. (sseth)
  TEZ-826. Remove wordcountmrrtest example. (sseth)
  TEZ-815. Split initialize and start implementations for the various Inputs and Outputs. (sseth)
  TEZ-637. [MR Support] Add all required info into JobConf for MR related I/O/P (bikas)
  TEZ-596. Change MRHelpers.serializeConf* methods to use Protobuf for serialization. Contributed by Mohammad Kamrul Islam
  TEZ-832. Fix a race in MemoryDistributor. (sseth)
  TEZ-827. Separate initialize and start operations on Inputs/Outputs. (sseth)
  TEZ-831. Reduce line length of state machines (bikas)
  TEZ-796. AM Hangs & does not kill containers when map-task fails (bikas)
  TEZ-782. Scale I/O mem requirements if misconfigured. (sseth)
  TEZ-819. YARNRunner should not put -m/-r in output name when using mapred API (bikas)
  TEZ-773. Fix configuration of tez jars location in MiniTezCluster (bikas)
  TEZ-799. Generate data to be used for recovery. (hitesh)
  TEZ-812. exclude slf4j dependencies from hadoop. (Giridharan Kesavan via hitesh)
  TEZ-810. Add Gunther H. to the website. (Gunther Hagleitner via hitesh)
  TEZ-807. Build broken due to NPE (Patch by Gunther Hagleitner, reviewed by Siddharth Seth)
  TEZ-777. Obtain tokens for LocalResources specified in the DAGPlan (Patch by Gunther Hagleitner, reviewed by Siddharth Seth)
  TEZ-781. Add unit test for fault tolerance (input failure causes re-run of previous task under allowed maximum failed attempt) (Tassapol Athiapinya via bikas)
  TEZ-745. Rename TEZ_AM_ABORT_ALL_OUTPUTS_ON_DAG_FAILURE in TezConfiguration to TEZ_AM_COMMIT_ALL_OUTPUTS_ON_DAG_SUCCESS (Jonathan Eagles via bikas)
  TEZ-783. Add standard DAGs using failing processors/inputs for test purpose (Tassapol Athiapinya via bikas)
  TEZ-773. Fix configuration of tez jars location in MiniTezCluster (bikas)
  TEZ-798. Change DAG.addURIsForCredentials to accept a Collection instead of a List. (Gunther Hagleitner via sseth)
  TEZ-797. Add documentation for some of the Tez config parameters. (sseth)
  TEZ-766. Support an api to pre-warm containers for a session. (hitesh)
  TEZ-774. Fix name resolution for local addresses in test (bikas)
  TEZ-761. Replace MRJobConfig parameter references in the tez-dag module with Tez equivalents. (Mohammad Kamrul Islam via sseth)
  TEZ-775. Fix usage of env vars (bikas)
  TEZ-773. Fix configuration of tez jars location in MiniTezCluster (bikas)
  TEZ-791. Remove ShuffleHandler and related classes from tez-library. (sseth)
  TEZ-790. Addendum patch for TEZ-784: failing config constants renaming is incomplete. (Tassapol Athiapinya via bikas)
  TEZ-718. Remove some unused classes - JobEndNotifier and Speculation. (Mohammad Kamrul Islam via sseth)
  TEZ-784. Add TestDriver to allow cmd line submission of tests to a cluster (bikas)
  TEZ-771. Dist build broken after TEZ-749. (Jonathan Eagles via hitesh)
  TEZ-678. Support for union operations via VertexGroup abstraction (bikas)
  TEZ-646. Introduce a CompositeDataMovementEvent to avoid multiple copies of the same payload in the AM. (sseth)
  TEZ-752 addendum. Javadoc modifications for DAG.addURIsForCredentials. (sseth)
  TEZ-768. Consolidate TokenCache, Master and related code. (sseth)
  TEZ-752. Add an API to DAG to accept a list of URIs for which tokens are needed. (sseth)
  TEZ-748. Test Tez Fault Tolerance (bikas)
  TEZ-749. Maintain order of vertices as specified by the user (Jonathan Eagles via bikas)
  TEZ-674. TezClient should obtain Tokens for the staging directory it uses. (sseth)
  TEZ-665. Fix javadoc warnings. (Jonathan Eagles via hitesh)
  TEZ-765. Allow tez.runtime.sort.threads > 1 to turn on PipelinedSorter (gopalv).
  TEZ-763. Tez doesn't compile with Non-resolvable parent error. (Jonathan Eagles via hitesh)
  TEZ-395. Allow credentials to be specified on a per DAG basis. (Contributed by  Michael Weng)
  tez-739 tez should include incubating keyword as part of the version string
  TEZ-724. Allow configuration of CUSTOM edges on the DAG API. (sseth)
  Addendum to TEZ-650. MRHelpers.createMRInputPayloadWithGrouping() methods should not take an MRSplitsProto argument (bikas)
  TEZ-650. MRHelpers.createMRInputPayloadWithGrouping() methods should not take an MRSplitsProto argument (Mohammad Kamrul Islam via bikas)
  TEZ-624. Fix MROutput to support multiple outputs to the same output location (bikas)
  TEZ-722. Tez trunk doesn't compile against latest branch-2. (Jonathan Eagles via hitesh)
  TEZ-728. Semantics of output commit (bikas)
  TEZ-738. Hive query fails with Invalid event: TA_CONTAINER_PREEMPTED at SUCCEEDED (Hitesh Shah via bikas)
  TEZ-140. Tez/hive task failure on large DAG with Invalid event: TA_SCHEDULE at KILLED (bikas)
  TEZ-734. Fix the AppMaster to work in the context of the App Submitter's UGI. (sseth)
  TEZ-735. Add timeout to tests in TestDAGImpl. (hitesh)
  TEZ-732. OrderedWordCount not working after TEZ-582 (bikas)
  TEZ-731. Fix a NullPointerException in ContainerTask.toString (sseth)
  TEZ-729. Missing dependency on netty in tez-runtime module. (hitesh)
  TEZ-721 Junit dependencies need to be specified in submodule pom files
  TEZ-727. Fix private resource localization failures on secure clusters. (sseth)
  TEZ-720. Inconsistency between VertexState and VertexStatus.State. (hitesh)
  TEZ-726. TestVertexImpl and TestDAGImpl failing after TEZ-582 (bikas)
  TEZ-725. Allow profiling of specific containers. (sseth)
  TEZ-723. Fix missing mocks in TestVertexImpl post TEZ-688. (sseth)
  TEZ-582. Refactor and abstract out VertexManager to enable users to plugin their own logic (bikas)
  TEZ-688. Make use of DAG specific credentials in Session mode. (sseth)
  TEZ-686. Add utility to visualize DAGs. (hitesh)
  TEZ-716. Remove some unnecessary classes. (sseth)
  TEZ-713. Fix typo in compression property name. (sseth)
  TEZ-41. Get VertexCommitter from API and remove MRVertexOutputCommitter. (hitesh)
  TEZ-685. Add archive link to mail list page. (hitesh)
  TEZ-364. Make VertexScheduler and abstract class. Rename to VertexManager. (bikas)
  TEZ-687. Allow re-localization of resources for a running container. (sseth)
  TEZ-689. Write wordcount in Tez API (bikas)
  TEZ-683. Diamond shape DAG fail. (hitesh)
  TEZ-682. TezGroupedSplits fails with empty (zero length) file (bikas)
  TEZ-681. Grouping generates incorrect splits if multiple DNs run on a single node (bikas)
  Addendum to TEZ-675. Pre-empted taskAttempt gets marked as FAILED instead of KILLED (bikas)
  TEZ-672. Fix Tez specific examples to work on secure clusters. (sseth)
  TEZ-675. Pre-empted taskAttempt gets marked as FAILED instead of KILLED
  TEZ-533. Exception thrown by a VertexCommitter kills the AM instead of just the DAG. (hitesh)
  TEZ-664. Add ability to generate source and javadoc jars. (hitesh)
  TEZ-606. Fix Tez to work on kerberos secured clusters. (sseth)
  TEZ-667. BroadcastShuffleManager should not report errors after it has been closed. (sseth)
  TEZ-666. Fix MRRSleep to respect command line parameters. (sseth)
  TEZ-644. Failing unit test TestTaskScheduler. (hitesh)
  TEZ-663. Log DAG diagnostics when OrderedWordCount fails. (hitesh)
  TEZ-662. Fix YarnTezDAGChild to log exception on exit. (hitesh)
  TEZ-653. Adding maven-compiler-plugin to pom.xml to force -source option to JVM. (Tsuyoshi Ozawa via hitesh)
  TEZ-660. Successful TaskAttempts belonging to LeafVertices should not be marked as KILLED in case of NodeFailure. (sseth) case
  TEZ-638. Bring pipelined sorter up-to-date. (gopalv)
  TEZ-658. YarnTezDagChild exits with a non 0 exit code even if a task succeeds. (sseth)
  TEZ-659. Fix init thread pool in LogicalIOProcessorRuntimeTask for tasks with no inputs and outputs. (hitesh)
  TEZ-656. Update site to match INSTALL.txt. (hitesh)
  TEZ-655. Update docs for 0.2.0 release. (hitesh)
  TEZ-654. Incorrect target index calculation after auto-reduce parallelism (bikas)
  TEZ-652. Make OrderedWordCount do grouping in the AM (bikas)
  TEZ-645. Re-use ID instances in the AM, intern vertex names etc where possible. (sseth)
  TEZ-647. Add support configurable max app attempts for Tez applications (bikas)
  TEZ-648. Fix Notice file. (hitesh)
  TEZ-642. Fix poms for release. (hitesh)
  TEZ-643. Change getProgress APIs to return some form of progress and 1.0f once the map or reduce phase complete. (sseth)

Release 0.2.0-incubating: 2013-11-30

  First version.
