Commit Graph

1374 Commits

Author SHA1 Message Date
Xuan f862999a7e YARN-2723. Fix rmadmin -replaceLabelsOnNode does not correctly parse
port. Contributed by Naganarasimha G R
2014-10-25 12:47:09 -07:00
Karthik Kambatla acc6f622e0 YARN-2183. [YARN-1492] Cleaner service for cache manager. (Chris Trezzo and Sangjin Lee via kasha)
(cherry picked from commit c51e53d7aa)
2014-10-25 11:50:06 -07:00
Jian He 9bd149978d YARN-2314. Disable ContainerManagementProtocolProxy cache by default to prevent creating thousands of threads in a large cluster. Contributed by Jason Lowe
(cherry picked from commit f44cf99599)
2014-10-24 23:06:00 -07:00
Jian He 96a6e02d16 YARN-1915. Fixed a race condition that client could use the ClientToAMToken to contact with AM before AM actually receives the ClientToAMTokenMasterKey. Contributed by Jason Lowe
(cherry picked from commit 5864dd99a4)
2014-10-24 22:48:48 -07:00
Karthik Kambatla 9af3cfc7eb YARN-2713. "RM Home" link in NM should point to one of the RMs in an HA setup. (kasha)
(cherry picked from commit 683897fd02)
2014-10-24 15:00:37 -07:00
Zhijie Shen 1b81105143 YARN-2703. Added logUploadedTime into LogValue for better display. Contributed by Xuan Gong.
(cherry picked from commit f81dc3f995)
2014-10-24 14:12:17 -07:00
Zhijie Shen 13c60bac57 YARN-2724. Skipped uploading a local log file to HDFS if exception is raised when opening it. Contributed by Xuan Gong.
(cherry picked from commit e31f0a6558)
2014-10-24 11:15:19 -07:00
Zhijie Shen 3b03ea6b50 YARN-2209. Replaced AM resync/shutdown command with corresponding exceptions and made related MR changes. Contributed by Jian He.
(cherry picked from commit 0f3b6900be)
2014-10-23 22:03:30 -07:00
Zhijie Shen 36515435ff YARN-2732. Fixed syntax error in SecureContainer.apt.vm. Contributed by Jian He.
(cherry picked from commit b94b8b30f2)
2014-10-22 18:41:05 -07:00
Jian He 1c235a4448 YARN-2198. Remove the need to run NodeManager as privileged account for Windows Secure Container Executor. Contributed by Remus Rusanu
(cherry picked from commit 3b12fd6cfb)
2014-10-22 15:58:26 -07:00
Steve Loughran 5e6494ea95 YARN-2700 TestSecureRMRegistryOperations failing on windows: auth problems 2014-10-22 21:13:32 +01:00
Steve Loughran a64ac5501c YARN-2692 ktutil test hanging on some machines/ktutil versions (stevel) 2014-10-22 14:35:13 +01:00
Zhijie Shen 4b9de2cdfe YARN-2721. Suppress NodeExist exception thrown by ZKRMStateStore when it retries creating znode. Contributed by Jian He.
(cherry picked from commit 7e3b5e6f5c)
2014-10-21 21:52:01 -07:00
Vinod Kumar Vavilapalli 77dc9afe86 YARN-2715. Fixed ResourceManager to respect common configurations for proxy users/groups beyond just the YARN level config. Contributed by Zhijie Shen.
(cherry picked from commit c0e034336c)
2014-10-21 20:10:45 -07:00
Zhijie Shen 296bbd8971 YARN-2709. Made timeline client getDelegationToken API retry if ConnectException happens. Contributed by Li Lu.
(cherry picked from commit b2942762d7)
2014-10-21 16:08:18 -07:00
cnauroth a066134277 YARN-2720. Windows: Wildcard classpath variables not expanded against resources contained in archives. Contributed by Craig Welch.
(cherry picked from commit 6637e3cf95)
2014-10-21 12:34:58 -07:00
Jason Lowe 3820bf055e YARN-90. NodeManager should identify failed disks becoming good again. Contributed by Varun Vasudev
(cherry picked from commit 6f2028bd15)
2014-10-21 17:33:34 +00:00
Zhijie Shen fd7ba56f6a YARN-2717. Avoided duplicate logging when container logs are not found. Contributed by Xuan Gong.
(cherry picked from commit 171f2376d2)
2014-10-20 22:23:12 -07:00
Jian He b52928a6ea Missing file for YARN-1879
(cherry picked from commit 4a78a75228)
2014-10-20 21:14:57 -07:00
Jian He e9564e729f Missing file for YARN-2701
(cherry picked from commit 4fa1fb3193)
2014-10-20 19:58:21 -07:00
Jian He 3c8ae89050 YARN-2701. Potential race condition in startLocalizer when using LinuxContainerExecutor. Contributed by Xuan Gong
(cherry picked from commit 2839365f23)
2014-10-20 19:54:10 -07:00
Zhijie Shen f75570734b YARN-2582. Fixed Log CLI and Web UI for showing aggregated logs of LRS. Contributed Xuan Gong.
(cherry picked from commit e90718fa5a)
2014-10-20 13:42:22 -07:00
Zhijie Shen 42ceed8f20 YARN-2673. Made timeline client put APIs retry if ConnectException happens. Contributed by Li Lu.
(cherry picked from commit 89427419a3)
2014-10-20 12:23:10 -07:00
Vinod Kumar Vavilapalli 9915d52185 YARN-2504. Enhanced RM Admin CLI to support management of node-labels. Contribyted by Wangda Tan.
(cherry picked from commit 8256766498)
2014-10-18 12:08:28 -07:00
Vinod Kumar Vavilapalli ea841eb25d YARN-2676. Enhanced Timeline auth-filter to support proxy users. Contributed by Zhijie Shen.
(cherry picked from commit 39063cd36f)
2014-10-17 22:03:43 -07:00
Vinod Kumar Vavilapalli 1c52b6551b YARN-2705. Fixed bugs in ResourceManager node-label manager that were causing test-failures: added a dummy in-memory labels-manager. Contributed by Wangda Tan.
(cherry picked from commit e9c66e8fd2)
2014-10-17 18:27:04 -07:00
Jian He 78a57087bf YARN-1879. Marked Idempotent/AtMostOnce annotations to ApplicationMasterProtocol for RM fail over. Contributed by Tsuyoshi OZAWA
(cherry picked from commit c3de2412eb)
2014-10-17 16:36:15 -07:00
Jian He 79428e021f YARN-2588. Standby RM fails to transitionToActive if previous transitionToActive failed with ZK exception. Contributed by Rohith Sharmaks
(cherry picked from commit a6aa6e42ca)
2014-10-17 10:55:04 -07:00
Vinod Kumar Vavilapalli 99ce4277a8 YARN-2699. Fixed a bug in CommonNodeLabelsManager that caused tests to fail when using ephemeral ports on NodeIDs. Contributed by Wangda Tan.
(cherry picked from commit abae63caf9)
2014-10-17 08:59:22 -07:00
Jian He a78f1f8da8 YARN-2682. Updated WindowsSecureContainerExecutor to not use DefaultContainerExecutor#getFirstApplicationDir and use getWorkingDir() instead. Contributed by Zhihai Xu
(cherry picked from commit 0fd0ebae64)
2014-10-16 18:15:43 -07:00
Jian He caba212f12 YARN-2621. Simplify the output when the user doesn't have the access for getDomain(s). Contributed by Zhijie Shen
(cherry picked from commit 233d446be1)
2014-10-16 16:38:00 -07:00
Steve Loughran fddbf52caa YARN-2689 TestSecureRMRegistryOperations failing on windows: secure ZK won't start 2014-10-16 14:21:49 -07:00
Vinod Kumar Vavilapalli 76cf2250de YARN-2685. Fixed a bug in CommonNodeLabelsManager that caused wrong resource tracking per label when a host runs multiple node-managers. Contributed by Wangda Tan.
(cherry picked from commit b3056c266a)
2014-10-15 18:48:36 -07:00
Vinod Kumar Vavilapalli e8e3a36213 YARN-2496. Enhanced Capacity Scheduler to have basic support for allocating resources based on node-labels. Contributed by Wangda Tan.
YARN-2500. Ehnaced ResourceManager to support schedulers allocating resources based on node-labels. Contributed by Wangda Tan.

(cherry picked from commit f2ea555ac6)
2014-10-15 18:34:19 -07:00
Jian He f93d2ea27e YARN-2312. Deprecated old ContainerId#getId API and updated MapReduce to use ContainerId#getContainerId instead. Contributed by Tsuyoshi OZAWA 2014-10-15 15:28:26 -07:00
Zhijie Shen bec165e163 YARN-2656. Made RM web services authentication filter support proxy user. Contributed by Varun Vasudev and Zhijie Shen.
(cherry picked from commit 1220bb72d4)
2014-10-14 21:56:44 -07:00
Zhijie Shen 8aeda20b25 HADOOP-11181. Generalized o.a.h.s.t.d.DelegationTokenManager to handle all sub-classes of AbstractDelegationTokenIdentifier. Contributed by Zhijie Shen.
(cherry picked from commit cdce88376a)
2014-10-14 11:37:28 -07:00
Karthik Kambatla 88455173e8 YARN-2566. DefaultContainerExecutor should pick a working directory randomly. (Zhihai Xu via kasha)
(cherry picked from commit cc93e7e683)
2014-10-13 16:32:42 -07:00
Karthik Kambatla a1116b56a4 YARN-2641. Decommission nodes on -refreshNodes instead of next NM-RM heartbeat. (Zhihai Xu via kasha)
(cherry picked from commit da709a2eac)
2014-10-13 16:24:00 -07:00
Jian He 536254f5e7 YARN-2308. Changed CapacityScheduler to explicitly throw exception if the queue
to which the apps were submitted is changed across RM restart. Contributed by Craig Welch & Chang Li
(cherry picked from commit f9680d9a16)
2014-10-13 14:16:12 -07:00
Jason Lowe 6b5741d423 YARN-2377. Localization exception stack traces are not passed as diagnostic info. Contributed by Gera Shegalov
(cherry picked from commit a56ea01002)
2014-10-13 18:32:38 +00:00
Zhijie Shen e51ae64761 YARN-2651. Spun off LogRollingInterval from LogAggregationContext. Contributed by Xuan Gong.
(cherry picked from commit 4aed2d8e91)
2014-10-13 10:55:09 -07:00
Jason Lowe 9ed9ea8c52 YARN-2667. Fix the release audit warning caused by hadoop-yarn-registry. Contributed by Yi Liu
(cherry picked from commit 344a10ad5e)
2014-10-13 15:40:16 +00:00
Steve Loughran 38dedc2f07 YARN-2668 yarn-registry JAR won't link against ZK 3.4.5. (stevel) 2014-10-11 18:33:29 -07:00
Vinod Kumar Vavilapalli fff6a1f77e YARN-2501. Enhanced AMRMClient library to support requests against node labels. Contributed by Wangda Tan.
(cherry picked from commit a5ec3d0809)
2014-10-10 19:58:42 -07:00
Vinod Kumar Vavilapalli 8ef83a9480 YARN-2494. Added NodeLabels Manager internal API and implementation. Contributed by Wangda Tan.
(cherry picked from commit db7f165319)
2014-10-10 11:45:15 -07:00
Zhijie Shen 1e6d81a886 YARN-2583. Modified AggregatedLogDeletionService to be able to delete rolling aggregated logs. Contributed by Xuan Gong.
(cherry picked from commit cb81bac002)
2014-10-10 00:16:34 -07:00
cnauroth b81641a310 YARN-2662. TestCgroupsLCEResourcesHandler leaks file descriptors. Contributed by Chris Nauroth.
(cherry picked from commit d3afd730ac)
2014-10-09 22:47:04 -07:00
Zhijie Shen ad47a27dbf YARN-2617. Fixed ApplicationSubmissionContext to still set resource for backward compatibility. Contributed by Wangda Tan.
(cherry picked from commit e532ed8faa)
2014-10-09 18:00:01 -07:00
Karthik Kambatla 7e20187f91 YARN-2180. [YARN-1492] In-memory backing store for cache manager. (Chris Trezzo via kasha)
(cherry picked from commit 4f426fe223)
2014-10-09 17:16:45 -07:00
Vinod Kumar Vavilapalli d3125f3de5 YARN-2544. Added admin-API objects for using node-labels. Contributed by Wangda Tan.
(cherry picked from commit 596702a025)
2014-10-09 15:47:20 -07:00
Mayank Bansal c1a86d105e YARN-2598 GHS should show N/A instead of null for the inaccessible information (Zhijie Shen via mayank) 2014-10-09 13:43:36 -07:00
Zhijie Shen 4d170d3db6 YARN-2629. Made the distributed shell use the domain-based timeline ACLs. Contributed by Zhijie Shen.
(cherry picked from commit 1d4612f5ad)
2014-10-09 13:01:44 -07:00
Vinod Kumar Vavilapalli b42cd54d7a YARN-2493. Added user-APIs for using node-labels. Contributed by Wangda Tan.
(cherry picked from commit 180afa2f86)
2014-10-09 11:27:17 -07:00
Steve Loughran d218ab58fc YARN-913 service registry: YARN-2652 add hadoop-yarn-registry package under hadoop-yarn 2014-10-08 12:55:47 -07:00
Jian He 5e6f86e3aa YARN-2649. Fixed TestAMRMRPCNodeUpdates test failure. Contributed by Ming Ma
(cherry picked from commit e16e25ab1b)
2014-10-08 11:03:00 -07:00
Jian He 9ff7c0c96c YARN-1857. CapacityScheduler headroom doesn't account for other AM's running. Contributed by Chen He and Craig Welch
(cherry picked from commit 30d56fdbb4)
2014-10-07 13:48:03 -07:00
Jian He 5c33e91229 YARN-2644. Fixed CapacityScheduler to return up-to-date headroom when AM allocates. Contributed by Craig Welch
(cherry picked from commit 519e5a7dd2)
2014-10-06 15:51:38 -07:00
Jian He 43358be60b YARN-2615. Changed ClientToAMTokenIdentifier/RM(Timeline)DelegationTokenIdentifier to use protobuf as payload. Contributed by Junping Du
(cherry picked from commit ea26cc0b4a)
2014-10-06 10:48:27 -07:00
Chris Douglas 4ba102bdc3 YARN-1051. Add a system for creating reservations of cluster capacity.
Contributed by Subru Krishnan and Carlo Curino.
(cherry picked from commit c8212bacb1)

Conflicts:
	hadoop-yarn-project/CHANGES.txt
2014-10-06 10:30:53 -07:00
subru fb5e9df7fd YARN-2611. Fixing jenkins findbugs warning and TestRMWebServicesCapacitySched for branch YARN-1051. Contributed by Subru Krishnan and Carlo Curino.
(cherry picked from commit c47464aba4)
(cherry picked from commit a2986234be)
2014-10-06 10:21:07 -07:00
subru ae0f16ccc8 YARN-2576. Making test patch pass in branch. Contributed by Subru Krishnan and Carlo Curino.
(cherry picked from commit 90ac0be86b)
(cherry picked from commit 5e10a13bb4)
2014-10-06 10:21:06 -07:00
subru cbfbdf60d6 YARN-2080. Integrating reservation system with ResourceManager and client-RM protocol. Contributed by Subru Krishnan and Carlo Curino.
(cherry picked from commit 8baeaead85)

Conflicts:
	hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java
(cherry picked from commit 6261f7cc69)
2014-10-06 10:21:06 -07:00
subru fec639cda1 YARN-1712. Plan follower that synchronizes the current state of reservation subsystem with the scheduler. Contributed by Subru Krishnan and Carlo Curino.
(cherry picked from commit 169085319b)
(cherry picked from commit 3418c56bcf)
2014-10-06 10:21:06 -07:00
carlo curino 6bfdaf06c4 YARN-1711. Policy to enforce instantaneous and over-time quotas on user reservation. Contributed by Carlo Curino and Subru Krishnan.
(cherry picked from commit c4918cb4cb)
(cherry picked from commit b6df0dddcd)
2014-10-06 10:21:05 -07:00
carlo curino 6a3c167175 YARN-1710. Logic to find allocations within a Plan that satisfy user ReservationRequest(s). Contributed by Carlo Curino and Subru Krishnan.
(cherry picked from commit aef7928899)
(cherry picked from commit f66ffcf832)
2014-10-06 10:21:05 -07:00
subru 63250ef9d6 YARN-1709. In-memory data structures used to track resources over time to enable reservations.
(cherry picked from commit 0d8b2cd88b)
(cherry picked from commit cf4b34282a)
2014-10-06 10:21:05 -07:00
subru 3a167056d1 YARN-1708. Public YARN APIs for creating/updating/deleting reservations.
(cherry picked from commit 3f2e3b275b)
(cherry picked from commit c9266df404)
2014-10-06 10:21:05 -07:00
carlo curino b81f571e60 YARN-2475. Logic for responding to capacity drops for the ReservationSystem. Contributed by Carlo Curino and Subru Krishnan.
(cherry picked from commit f83a07f266)
(cherry picked from commit 1c6950354f)
2014-10-06 10:21:05 -07:00
carlo curino cf5ef00b96 YARN-1707. Introduce APIs to add/remove/resize queues in the CapacityScheduler. Contributed by Carlo Curino and Subru Krishnan
(cherry picked from commit aac47fda7f)

Conflicts:
	hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java
(cherry picked from commit eb3e40b833)
2014-10-06 10:21:04 -07:00
Vinod Kumar Vavilapalli 7ed61e150c YARN-2468. Enhanced NodeManager to support log handling APIs (YARN-2569) for use by long running services. Contributed by Xuan Gong.
(cherry picked from commit 34cdcaad71)
2014-10-03 12:17:03 -07:00
Karthik Kambatla b6ce0a1f69 YARN-2635. TestRM, TestRMRestart, TestClientToAMTokens should run with both CS and FS. (Wei Yan and kasha via kasha)
(cherry picked from commit 80d11eb68e)
2014-10-03 11:52:05 -07:00
Jian He 1c58ab9206 YARN-2562. Changed ContainerId#toString() to be more readable. Contributed by Tsuyoshi OZAWA
(cherry picked from commit eb6ce5e97c)
2014-10-03 11:04:46 -07:00
Jian He 6f4c77409b YARN-2628. Capacity scheduler with DominantResourceCalculator carries out reservation even though slots are free. Contributed by Varun Vasudev
(cherry picked from commit 054f285526)
2014-10-02 15:16:07 -07:00
Zhijie Shen ecaae67ab3 YARN-2527. Fixed the potential NPE in ApplicationACLsManager and added test cases for it. Contributed by Benoy Antony.
(cherry picked from commit 1c93025a1b)
2014-10-02 14:57:27 -07:00
Jason Lowe 531c1fd00a YARN-2624. Resource Localization fails on a cluster due to existing cache directories. Contributed by Anubhav Dhoot
(cherry picked from commit 29f520052e)
2014-10-02 17:40:44 +00:00
Karthik Kambatla b6f4d1ef42 YARN-2254. TestRMWebServicesAppsModification should run against both CS and FS. (Zhihai Xu via kasha)
(cherry picked from commit 5e0b49da9c)
2014-10-02 10:15:41 -07:00
Jian He 61c7ceaf82 YARN-2617. Fixed NM to not send duplicate container status whose app is not running. Contributed by Jun Gong
(cherry picked from commit 3ef1cf187f)
2014-10-02 10:04:42 -07:00
junping_du 6483342a61 YARN-1979. TestDirectoryCollection fails when the umask is unusual. (Contributed by Vinod Kumar Vavilapalli and Tsuyoshi OZAWA)
(cherry picked from commit c7cee9b455)
2014-10-02 08:04:25 -07:00
Vinod Kumar Vavilapalli 34dd2d1d1c YARN-2446. Augmented Timeline service APIs to start taking in domains as a parameter while posting entities and events. Contributed by Zhijie Shen.
(cherry picked from commit 9e40de6af7)

Conflicts:
	hadoop-yarn-project/CHANGES.txt
2014-10-01 17:54:12 -07:00
Vinod Kumar Vavilapalli 3326fba382 YARN-1972. Added a secure container-executor for Windows. Contributed by Remus Rusanu.
commit ba7f31c2ee is the corresponding trunk commit, this is a slightly different patch for branch-2.
2014-10-01 17:07:21 -07:00
junping_du 625456746c YARN-2613. Support retry in NMClient for rolling-upgrades. (Contributed by Jian He) 2014-10-01 17:08:55 -07:00
Zhijie Shen 4b50e23271 YARN-2630. Prevented previous AM container status from being acquired by the current restarted AM. Contributed by Jian He.
(cherry picked from commit 52bbe0f11b)
2014-10-01 15:39:36 -07:00
Karthik Kambatla 3664659592 YARN-2179. Fix version in sharedcachemanager-pom. 2014-10-01 07:34:24 -07:00
Karthik Kambatla b616c69835 YARN-2179. [YARN-1492] Initial cache manager structure and context. (Chris Trezzo via kasha)
(cherry picked from commit 17d1202c35)

Conflicts:
	hadoop-yarn-project/hadoop-yarn/bin/yarn
2014-09-30 19:05:10 -07:00
Jian He 823f02725f YARN-2602. Fixed possible NPE in ApplicationHistoryManagerOnTimelineStore. Contributed by Zhijie Shen
(cherry picked from commit bbff96be48)
2014-09-30 16:44:44 -07:00
Karthik Kambatla 5a43b795b7 YARN-2594. Potential deadlock in RM when querying ApplicationResourceUsageReport. (Wangda Tan via kasha)
(cherry picked from commit 14d60dadc2)
2014-09-30 16:17:38 -07:00
Jason Lowe a0305ba3fc YARN-2387. Resource Manager crashes with NPE due to lack of synchronization. Contributed by Mit Desai
(cherry picked from commit feaf139b4f)
2014-09-30 22:38:27 +00:00
Zhijie Shen d977205b9b YARN-2627. Added the info logs of attemptFailuresValidityInterval and number of previous failed attempts. Contributed by Xuan Gong.
(cherry picked from commit 9582a50176)
2014-09-30 12:59:34 -07:00
Karthik Kambatla 21f920ab86 YARN-2610. Hamlet should close table tags. (Ray Chiang via kasha)
(cherry picked from commit f7743dd07d)
2014-09-30 11:47:01 -07:00
Jonathan Eagles 9bc676aa6e YARN-2606. Application History Server tries to access hdfs before doing secure login (Mit Desai via jeagles) 2014-09-29 16:40:46 -05:00
Jason Lowe 4f6a367166 YARN-1769. CapacityScheduler: Improve reservations. Contributed by Thomas Graves
(cherry picked from commit 9c22065109)
2014-09-29 14:13:21 +00:00
Jian He cb08ed1484 YARN-668. Changed NMTokenIdentifier/AMRMTokenIdentifier/ContainerTokenIdentifier to use protobuf object as the payload. Contributed by Junping Du.
(cherry picked from commit 5391919b09)
2014-09-26 17:53:35 -07:00
Allen Wittenauer 6f5d555ad0 YARN-2372. There are Chinese Characters in the FairScheduler's document (Fengdong Yu via aw) 2014-09-26 12:47:26 -07:00
Allen Wittenauer f694b44036 YARN-2577. Clarify ACL delimiter and how to configure ACL groups only (Mikos Christine via aw) 2014-09-26 11:06:04 -07:00
Karthik Kambatla b923c291b4 YARN-2608. FairScheduler: Potential deadlocks in loading alloc files and clock access. (Wei Yan via kasha)
(cherry picked from commit c9811af09a3d3f9f2f1b86fc9d6f2763d3225e44)
2014-09-25 17:43:08 -07:00
Jason Lowe e4d46e5ff6 YARN-2523. ResourceManager UI showing negative value for "Decommissioned Nodes" field. Contributed by Rohith
(cherry picked from commit 8269bfa613)
2014-09-25 22:39:57 +00:00
Zhijie Shen 83926b3c57 YARN-2546. Made REST API for application creation/submission use numeric and boolean types instead of the string of them. Contributed by Varun Vasudev.
(cherry picked from commit 72b0881ca6)
2014-09-24 17:58:48 -07:00
Zhijie Shen 3a2e400377 YARN-2581. Passed LogAggregationContext to NM via ContainerTokenIdentifier. Contributed by Xuan Gong.
(cherry picked from commit c86674a3a4)
2014-09-24 17:51:54 -07:00
Karthik Kambatla 30165d4cdd YARN-2596. TestWorkPreservingRMRestart fails with FairScheduler. (kasha)
(cherry picked from commit 39c87344e1)
2014-09-24 15:24:17 -07:00