-
Notifications
You must be signed in to change notification settings - Fork 9.2k
YARN-10210. Add a RMFailoverProxyProvider that does DNS resolution on failover #1399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
3472 commits
Select commit
Hold shift + click to select a range
15de588
HDFS-15095. Fix TestDecommissioningStatus. Contributed by Ahmed Hussein.
kihwal b798d2e
HADOOP-16590. Update OS login modules for IBM JDK.
macroadster 3e24d46
YARN-10019. Improved container-executor exec() calls.
macroadster 70f2838
HDFS-15099. [SBN Read] checkOperation(WRITE) should throw ObserverRet…
a4e883b
HDFS-15108. RBF: MembershipNamenodeResolver should invalidate cache i…
ayushtkn 3e2a591
HDFS-14578. AvailableSpaceBlockPlacementPolicy always prefers local n…
ayushtkn 3617a68
YARN-10067. Add dry-run feature to FS-CS converter tool. Contributed …
szilard-nemeth f83120a
YARN-9866. u:user2:%primary_group is not working as expected. Contrib…
szilard-nemeth 81640db
HADOOP-16797. Add Dockerfile for ARM builds. Contributed by Vinayakum…
vinayakumarb 91edc67
YARN-9989. Typo in CapacityScheduler documentation: Runtime Configura…
szilard-nemeth c4d863b
YARN-9868. Validate %primary_group queue in CS queue manager. Contrib…
szilard-nemeth a7114c5
YARN-9912. Capacity scheduler: support u:user2:%secondary_group queue…
szilard-nemeth 31b2def
HDFS-15097. Purge log in KMS and HttpFS. Contributed by Doris Gu.
jojochuang d6294d9
YARN-10028. Integrate the new abstract log servlet to the JobHistory …
szilard-nemeth c6c6e0a
YARN-9788. Queue Management API does not support parallel updates. Co…
szilard-nemeth 8b6ac41
HADOOP-16005. NativeAzureFileSystem does not support setXAttr.
c-w 0da1c12
MAPREDUCE-7256. Fix javadoc error in SimpleExponentialSmoothing. (#1804)
iwasakims 75a9f80
YARN-9970. Refactor TestUserGroupMappingPlacementRule#verifyQueueMapp…
szilard-nemeth 334f6fa
HADOOP-16803. Upgrade jackson-databind to 2.9.10.2. (#1805)
iwasakims 82c1f98
YARN-10082. FS-CS converter: disable terminal placement rule checking…
szilard-nemeth e06012a
HADOOP-16790. Add Write Convenience Methods.
5aad0e0
HDFS-13616. Batch listing of multiple directories (#1725)
sunchao 3e3c7a3
YARN-9512. [JDK11] TestAuxServices#testCustomizedAuxServiceClassPath …
aajisaka 0a80542
MAPREDUCE-7247. Modify HistoryServerRest.html content,change The job …
kevinzhao1661 0576777
YARN-10070. Fix NPE if no queue mapping defined for proxy user when u…
7bd7106
HADOOP-16621. [pb-upgrade] Remove Protobuf classes from signatures of…
vinayakumarb 85581ed
HDFS-15112. RBF: Do not return FileNotFoundException when a subcluste…
9e6fa6e
YARN-8148. Update decimal values for queue capacities shown on queue …
szilard-nemeth ecf6072
YARN-10081. Exception message from ClientRMProxy#getRMAddress is misl…
szilard-nemeth d86a009
YARN-9462. TestResourceTrackerService.testNodeRemovalGracefully fails…
szilard-nemeth 4a76200
YARN-9525. IFile format is not working against s3a remote folder. Con…
szilard-nemeth 57d916e
YARN-7913. Improve error handling when application recovery fails wit…
szilard-nemeth ea295c1
HADOOP-16785. followup to abfs close() fix.
steveloughran 46980d4
HADOOP-16753. Refactor HAAdmin. Contributed by Xieming Li.
aajisaka ac6e4e6
HADOOP-16808. Use forkCount and reuseForks parameters instead of fork…
aajisaka cc80a49
Remove WARN log when ipc connection interrupted in Client#handleSaslC…
3a33859
HADOOP-16346. Stabilize S3A OpenSSL support.
50f4731
HDFS-15126. TestDatanodeRegistration#testForcedRegistration fails int…
ef6a17a
HDFS-15092. TestRedudantBlocks#testProcessOverReplicatedAndRedudantBl…
a95c8f4
YARN-9768. RM Renew Delegation token thread should timeout and retry.…
269a068
HADOOP-16759. Filesystem openFile() builder to take a FileStatus para…
steveloughran 2e5bd89
Revert "YARN-9768. RM Renew Delegation token thread should timeout an…
94cf3f9
HADOOP-16670. Stripping Submarine code from Hadoop codebase. Contribu…
tangzhankun 140af6b
HDFS-14968. Add ability to log stale datanodes. Contributed by Ahmed …
kihwal da9acf8
YARN-10083. Provide utility to ask whether an application is in final…
szilard-nemeth 8c11049
HDFS-15117. EC: Add getECTopologyResultForPolicies to DistributedFile…
ayushtkn a11be89
HADOOP-16732. S3Guard to support encrypted DynamoDB table (#1752). Co…
liuml07 1fe06b3
HADOOP-16826. ABFS: update abfs.md to include config keys for identit…
karthick-rn aaff6ce
HADOOP-16792: Make S3 client request timeout configurable.
6f86266
HDFS-15119. Allow expiration of cached locations in DFSInputStream.
kihwal a493ebd
HADOOP-16827. TestHarFileSystem.testInheritedMethodsImplemented broke…
steveloughran 6bb17c9
HDFS-15128. Unit test failing to clean testing data and crashed futur…
ayushtkn f258799
HADOOP-16811: Use JUnit TemporaryFolder Rule in TestFileUtils (#1811)…
belugabehr 2e1c1cd
HADOOP-16746. mkdirs and s3guard Authoritative mode.
steveloughran fd96af0
MAPREDUCE-7262. MRApp helpers block for long intervals (500ms)
amahussein a7aff19
HDFS-15143. LocatedStripedBlock returns wrong block type. Contributed…
ayushtkn b3b8364
YARN-10085. FS-CS converter: remove mixed ordering policy check. Cont…
szilard-nemeth 73b6d81
YARN-10104. FS-CS converter: dry run should work without output defin…
szilard-nemeth 104d70c
MAPREDUCE-7259. testSpeculateSuccessfulWithUpdateEvents fails Intermi…
amahussein 3ff7f11
HDFS-14993. checkDiskError doesn't work during datanode startup. Cont…
ayushtkn 8159c1c
YARN-10022. RM Rest API to validate the CapacityScheduler Configurati…
a9580ec
HDFS-15145. HttpFS: getAclStatus() returns permission as null. Contri…
d57aa42
YARN-9768. RM Renew Delegation token thread should timeout and retry.…
0b91cab
HDFS-13179. TestLazyPersistReplicaRecovery#testDnRestartWithSavedRepl…
a7be222
[SBN Read] Slow clients when Observer reads are enabled but there are…
89b8eab
Revert "[SBN Read] Slow clients when Observer reads are enabled but t…
fb8d2ce
[SBN Read] Slow clients when Observer reads are enabled but there are…
9821c16
YARN-10015. Correct the sample command in SLS README file. Contribute…
flyrain 25fd6e1
YARN-10084. Allow inheritance of max app lifetime / default app lifet…
ericbadger d7e8bef
YARN-10107. Fix GpuResourcePlugin#getNMResourceInfo to honor Auto Dis…
e365319
MAPREDUCE-7260. Cross origin request support for Job history server w…
szilard-nemeth 4f1554b
MAPREDUCE-7079: JobHistory#ServiceStop implementation is incorrect. C…
8c7ded6
HDFS-15146. TestBalancerRPCDelay.testBalancerRPCDelay fails
kihwal 21470e7
YARN-9743. [JDK11] TestTimelineWebServices.testContextFactory fails. …
aajisaka ac572b4
HADOOP-16801. S3Guard listFiles will not query S3 if all listings are…
mustafaiman 3a70e45
YARN-10099. FS-CS converter: handle allow-undeclared-pools and user-a…
szilard-nemeth c95975d
YARN-8982. [Router] Add locality policy. Contributed by Young Chen.
951e770
HDFS-7175. Client-side SocketTimeoutException during Fsck. Contribute…
14f23c7
HDFS-12491. Support wildcard in CLASSPATH for libhdfs. Contributed by…
kihwal 04f1566
HDFS-15148. dfs.namenode.send.qop.enabled should not apply to primary…
c35c881
YARN-10116. Expose diagnostics in RMAppManager summary
hungj d4aa52b
YARN-10101. Support listing of aggregated logs for containers belongi…
szilard-nemeth c7d3105
HADOOP-16832. S3Guard testing doc: Add required parameters for S3Guar…
mukund-thakur 6c2204e
HADOOP-16845: Disable ITestAbfsClient.testContinuationTokenHavingEqua…
snvijaya 74b0dcc
HADOOP-16825: ITestAzureBlobFileSystemCheckAccess failing.
bilaharith 993e873
HADOOP-16596. [pb-upgrade] Use shaded protobuf classes from hadoop-th…
vinayakumarb 94ea820
HADOOP-16834. Replace com.sun.istack.Nullable with javax.annotation.N…
aajisaka 2600bc5
Bump checkstyle from 8.26 to 8.29 (#1828)
dependabot[bot] aef3246
HDFS-15136. LOG flooding in secure mode when Cookies are not set in r…
ayushtkn b5db082
HDFS-15115. Namenode crash caused by NPE in BlockPlacementPolicyDefau…
ayushtkn fa957af
YARN-9624. Use switch case for ProtoUtils#convertFromProtoFormat cont…
ayushtkn a47360a
YARN-10109. Allow stop and convert from leaf to parent queue in a sin…
sunilgovind 8820fd8
HDFS-15158. The number of failed volumes mismatch with volumeFailures…
ayushtkn bac899e
HADOOP-16739. Fix native build failure of hadoop-pipes on CentOS 8.
iwasakims a124a4b
HADOOP-16847. Test can fail if HashSet iterates in a different order.
testfixer b21664b
HADOOP-16851. Removed unused import in Configuration
HorizonNet 23721c2
HDFS-15150. Introduce read write lock to Datanode. Contributed Stephe…
662aac4
YARN-10127. Remove setting App Ordering Policy to ParentQueue in FSQu…
ce880d0
HDFS-14758. Make lease hard limit configurable and reduce the default.
kihwal 9ccb505
HADOOP-16849. start-build-env.sh behaves incorrectly when username is…
aajisaka 2878e6f
HADOOP-16856. cmake is missing in the CentOS 8 section of BUILDING.tx…
iwasakims 793a1fe
HDFS-15127. RBF: Do not allow writes when a subcluster is unavailable…
ayushtkn 9c350a3
MAPREDUCE-7263. Remove obsolete validateTargetPath() from FrameworkUp…
szilard-nemeth 12db913
HDFS-15161. When evictableMmapped or evictable size is zero, do not t…
ayushtkn c307671
HDFS-13989. RBF: Add FSCK to the Router (#1832)
aajisaka 5b0e403
YARN-9521. Handle FileSystem close in ApiServiceClient
2d4509c
YARN-10029. Add option to UIv2 to get container logs from the new JHS…
szilard-nemeth 6a2445b
HDFS-15086. Block scheduled counter never get decremet if the block g…
surendralilhore 7fb1264
YARN-10137. UIv2 build is broken in trunk. Contributed by Adam Antal
szilard-nemeth 3fd738d
HADOOP-16823. Large DeleteObject requests are their own Thundering Herd.
steveloughran 613fd38
HADOOP-16850. Support getting thread info from thread group for JvmMe…
aajisaka 1401e75
YARN-10136. [Router] : Application metrics are hardcode as N/A in UI.…
brahmareddybattula 2456709
HDFS-15164. Fix TestDelegationTokensWithHA. Contributed by Ayush Saxena.
ayushtkn 5a82637
HDFS-15135. EC : ArrayIndexOutOfBoundsException in BlockRecoveryWorke…
surendralilhore 9354992
HDFS-15173. RBF: Delete repeated configuration 'dfs.federation.router…
b4dadb4
HADOOP-13666. Supporting rack exclusion in countNumOfAvailableNodes i…
ayushtkn 37d583a
HADOOP-15961. S3A committers: make sure there's regular progress() ca…
lqjack c4a6bf5
HADOOP-16759. FileSystem Javadocs to list what breaks on API changes
steveloughran eabbdd5
HADOOP-16833. InstrumentedLock should log lock queue time. Contribute…
arp7 9b75189
YARN-8374. Upgrade objenesis to 2.6 (#1798)
aajisaka d5adf96
HDFS-13739. Add option to disable rack local write preference. Contri…
ayushtkn bc20d98
YARN-10139. ValidateAndGetSchedulerConfiguration API fails when clust…
sunilgovind 8bd34a1
HADOOP-16868. ipc.Server readAndProcess threw NullPointerException. C…
jojochuang 42d024c
YARN-10147. FPGA plugin can't find the localized aocx file. Contribut…
szilard-nemeth cf83feb
HDFS-15165. In Du missed calling getAttributesProvider. Contributed b…
2a2e73f
YARN-10143. YARN-10101 broke Yarn logs CLI. Contributed by Adam Antal
szilard-nemeth c9b4278
YARN-10119. Option to reset AM failure count for YARN Service
4aba123
HDFS-15052. WebHDFS getTrashRoot leads to OOM due to FileSystem objec…
iwasakims ea21eea
HADOOP-16869. Upgrade findbugs-maven-plugin to 3.0.5 to fix mvn findb…
aajisaka 69b2fd4
HADOOP-16706. ITestClientUrlScheme fails for accounts which don't sup…
steveloughran 26cf173
HADOOP-16711.
mukund-thakur 11506a6
HDFS-15185. StartupProgress reports edits segments until the entire s…
shvachko 628af10
HDFS-15172. Remove unnecessary deadNodeDetectInterval in DeadNodeDete…
13074e3
HDFS-14731. [FGL] Remove redundant locking on NameNode. Contributed b…
shvachko f53a9ac
HDFS-15182. TestBlockManager#testOneOfTwoRacksDecommissioned() fail i…
ayushtkn 9620694
HDFS-15041. Make MAX_LOCK_HOLD_MS and full queue size configurable. C…
ayushtkn 3e928f7
HDFS-15176. Enable GcTimePercentage Metric in NameNode's JvmMetrics. …
ayushtkn 4199058
HDFS-15166. Remove redundant field fStream in ByteStringLog. Contribu…
ayushtkn cd1f58c
HDFS-15187. CORRUPT replica mismatch between namenodes after failover…
ayushtkn 31d6858
HADOOP-16859: ABFS: Add unbuffer support to ABFS connector.
sahilTakiar 90159a3
HADOOP-16853. ITestS3GuardOutOfBandOperations failing on versioned S3…
steveloughran d04cce0
YARN-10157. FS-CS converter: initPropertyActions() is not called with…
szilard-nemeth b56bb21
YARN-10135. FS-CS converter tool: issue warning on dynamic auto-creat…
szilard-nemeth 745c380
HDFS-15174. Optimize ReplicaCachingGetSpaceUsed by reducing unnecessa…
jojochuang 0aef380
HADOOP-16841. The description of hadoop.http.authentication.signature…
tasanuma 2552295
YARN-10074. Update netty to 4.1.42Final in yarn-csi. Contributed by W…
jojochuang df1dae1
YARN-10130. FS-CS converter: Do not allow output dir to be the same a…
szilard-nemeth 3143c37
YARN-8767. TestStreamingStatus fails. Contributed by Andras Bokor
szilard-nemeth 6cefc3c
HDFS-14861. Reset LowRedundancyBlocks Iterator periodically. Contribu…
4c75929
YARN-10156. Fix typo 'complaint' which means quite different in Feder…
sungpeo 9497c7f
YARN-9593. Support Comma in the value of Scheduler Configuration Muta…
26391b2
HDFS-15147. LazyPersistTestCase wait logic is flawed. Contributed by …
kihwal af70bca
YARN-10141.Interceptor in FederationInterceptorREST doesnt update on …
brahmareddybattula 804f7ae
HDFS-15120. Refresh BlockPlacementPolicy at runtime. Contributed by J…
ayushtkn cd97683
HDFS-15111. stopStandbyServices() should log which service state it i…
ayushtkn 7186b30
YARN-10152. Fix findbugs warnings in hadoop-yarn-applications-mawo-co…
aajisaka 349a5df
HDFS-15167. Block Report Interval shouldn't be reset apart from first…
surendralilhore 9c76b73
HDFS-14668 Support Fuse with Users from multiple Security Realms (#1739)
fapifta 3fab093
HDFS-15124. Crashing bugs in NameNode when using a valid configuratio…
ayushtkn 0910a13
HADOOP-16730: ABFS: Support for Shared Access Signatures (SAS). Contr…
snvijaya 421bec3
HDFS-15186. Erasure Coding: Decommission may generate the parity bloc…
ayushtkn fce09e7
YARN-10148. Add Unit test for queue ACL for both FS and CS. Contribut…
szilard-nemeth edce63a
YARN-10155. TestDelegationTokenRenewer.testTokenThreadTimeout fails i…
126ca28
YARN-10161. TestRouterWebServicesREST is corrupting STDOUT. Contribut…
91f8aa6
HDFS-15199. NPE in BlockSender. Contributed by Ayush Saxena.
surendralilhore 8d0b2de
HADOOP-16891. Upgrade jackson-databind to 2.9.10.3 (#1865)
smengcl 50e8bd7
HDFS-15190. HttpFS: Add Support for Storage Policy Satisfier. Contrib…
tasanuma c515c06
HDFS-15149. TestDeadNodeDetection test cases time-out. Contributed by…
6244b8f
HDFS-15033. Support to save replica cached files to other place and m…
ayushtkn db8cbfe
HADOOP-16885. Encryption zone file copy failure leaks a temp file
xiaoyuyao 589e722
YARN-10148. addendum: Fix method call parameter order of setAdminAndS…
szilard-nemeth ad55fed
HADOOP-16767 Handle non-IO exceptions in reopen()
spoganshev 3da797d
HADOOP-16794. S3A reverts KMS encryption to the bucket's default KMS …
mukund-thakur 37ac5fa
HADOOP-16897. Sort fields in ReflectionUtils.java.
cpugputpu 309c101
HADOOP-14936. S3Guard: remove experimental from documentation.
60eb1f9
YARN-10175. FS-CS converter: only convert placement rules if a cmd li…
szilard-nemeth 6db8305
HADOOP-16885. Fix hadoop-commons TestCopy failure
steveloughran 934b4bd
HADOOP-16899. Update HdfsDesign.md to reduce ambiguity. (#1871)
invincible-akshay f4f820d
HDFS-15204. TestRetryCacheWithHA testRemoveCacheDescriptor fails inte…
044d591
HDFS-14977. Quota Usage and Content summary are not same in Truncate …
97cffce
YARN-10173. Make pid file generation timeout configurable in case of …
ericbadger 2c35485
YARN-10167. FS-CS Converter: Need to validate c-s.xml after convertin…
szilard-nemeth dc14485
YARN.10003. YarnConfigurationStore#checkVersion throws exception that…
szilard-nemeth 8bcabee
HDFS-15212. TestEncryptionZones.testVersionAndSuiteNegotiation fails …
3723609
HADOOP-16905. Update jackson-databind to 2.10.3 to relieve us from th…
jojochuang 745948f
YARN-6924. Metrics for Federation AMRMProxy. Contributed by Young Chen
bibinchundatt 7fa567e
HADOOP-14206. TestSFTPFileSystem#testFileExists failure: Invalid enco…
jzhuge 28d5ee7
HADOOP-16840. AliyunOSS: getFileStatus throws FileNotFoundException i…
yangwwei 723fcfa
HADOOP-16871. Upgrade Netty version to 4.1.45.Final to handle CVE-201…
brahmareddybattula 7fc0857
HADOOP-16909 Typo in distcp counters.
sebastian-nagel c354b67
HADOOP-14630 Contract Tests to verify create, mkdirs and rename under…
steveloughran 4bbc77b
HADOOP-16898. Batch listing of multiple directories via an (unstable)…
steveloughran 60b5503
YARN-9419. Log a warning if GPU isolation is enabled but LinuxContain…
szilard-nemeth a8d394d
YARN-942. TestContainerSchedulerQueuing.testKillOnlyRequiredOpportuni…
4004a59
YARN-10168. FS-CS Converter: tool doesn't handle min/max resource con…
szilard-nemeth e12d522
YARN-10002. Code cleanup and improvements in ConfigurationStoreBaseTe…
szilard-nemeth a19a951
YARN-9354. Resources should be created with ResourceTypesTestHelper i…
szilard-nemeth 82e3510
Hadoop 16890. Change in expiry calculation for MSI token provider.
bilaharith 6088c53
YARN-10191. FS-CS converter: call System.exit function call for every…
sunilgovind 2a7ce22
YARN-10193. FS-CS converter: fix incorrect capacity conversion. Contr…
szilard-nemeth fc113e6
YARN-9997. Code cleanup in ZKConfigurationStore. Contributed by Andra…
szilard-nemeth 9b506d1
HDFS-14442. Disagreement between HAUtil.getAddressOfActive and RpcInv…
surendralilhore d19bc8d
HADOOP-15430. hadoop fs -mkdir -p path-ending-with-slash/ fails with …
steveloughran 81dd2d8
HDFS-14612. SlowDiskReport won't update when SlowDisks is always empt…
bc63cb3
HDFS-15039. Cache meta file length of FinalizedReplica to reduce call…
jojochuang 0adaaa4
YARN-10110. Adding RouterPolicyProvider for RM Federation.
BilwaST a3f2f49
HDFS-15216. Wrong Use Case of -showprogress in fsck. Contributed by R…
3a67c75
HDFS-15155. writeIoRate of DataNodeVolumeMetrics is never used. Contr…
ayushtkn 9fb3866
YARN-10195. Dependency divergence building Timeline Service on HBase …
jojochuang aa8b267
HDFS-14743. Enhance INodeAttributeProvider/ AccessControlEnforcer Int…
jojochuang 97862cd
YARN-9538. Document scheduler/app activities and REST APIs. Contribut…
yangwwei d6def03
YARN-9567. Add diagnostics for outstanding resource requests on app a…
yangwwei 851911b
HDFS-15113. Missing IBR when NameNode restart if open processCommand …
Hexiaoqiao 8689b9a
HDFS-14820. The default 8KB buffer of BlockReaderRemote#newBlockReade…
jojochuang ebe403c
HDFS-15159. Prevent adding same DN multiple times in PendingReconstru…
ayushtkn 060a6c4
HDFS-15197. [SBN read] Change ObserverRetryOnActiveException log to d…
ayushtkn 39054ed
HDFS-15211. EC: File write hangs during close in case of Exception du…
surendralilhore 5ce1e86
MAPREDUCE-7237. Supports config the shuffle's path cache related para…
jiwq 680fde1
HADOOP-16661. Support TLS 1.3 (#1880)
jojochuang 1725968
YARN-2710. RM HA tests failed intermittently on trunk. Contributed by…
ericbadger 3457099
HADOOP-16319. S3A Etag tests fail with default encryption enabled on …
steveloughran 17418d4
HADOOP-16858. S3Guard fsck: Add option to remove orphaned entries (#1…
125cafb
HDFS-15208. Suppress bogus AbstractWadlGeneratorGrammarGenerator in K…
jojochuang 7582e6f
HADOOP-16054. Update Dockerfile to use Bionic.
aajisaka 84ec631
HADOOP-16920 ABFS: Make list page size configurable.
bilaharith 7bdda63
HDFS-14919. Provide Non DFS Used per DataNode in DataNode UI. Contrib…
ayushtkn 1453fa1
YARN-10034. Remove Allocation Tags from released container from Decom…
2a68335
HDFS-15223. FSCK fails if one namenode is not available. Contributed …
ayushtkn 38019b4
HDFS-15200. Delete Corrupt Replica Immediately Irrespective of Replic…
ayushtkn 1105d92
HADOOP-16927. Update hadoop-thirdparty dependency version to 1.0.0 (#…
vinayakumarb b42b45f
HADOOP-16818. ABFS: Combine append+flush calls for blockblob & append…
ishaniahuja cccc688
HDFS-15214. WebHDFS: Add snapshot counts to Content Summary. Contribu…
tasanuma 71e2aa1
HDFS-15227. NPE if the last block changes from COMMITTED to COMPLETE …
ayushtkn 173c322
YARN-10198. Remove Validation of Queue Exist under Managed Parent Queue
80e0bb1
ABFS Streams to update FileSystem.Statistics counters on IO.
mehakmeet a59e642
HDFS-15113. Addendum: Missing IBR when NameNode restart if open proce…
Hexiaoqiao 9cfb4c9
HDFS-15232. Fix libhdfspp test failures with GCC 7. (#1906)
aajisaka 81fa5a7
HDFS-15088. RBF: Correct annotation typo of RouterPermissionChecker#c…
Hexiaoqiao 545d5d9
HDFS-15201 SnapshotCounter hits MaxSnapshotID limit (#1870)
karthikhw 320a5a4
Revert ""HADOOP-16910. ABFS Streams to update FileSystem.Statistics c…
steveloughran 0451280
Revert "HADOOP-16054. Update Dockerfile to use Bionic." (#1911)
aajisaka 3f14aa3
HDFS-13377. The owner of folder can set quota for his sub folder. Con…
ayushtkn dc6c9b2
HDFS-15219. DFS Client will stuck when ResponseProcessor.run throw Er…
isahekmat 7900c1c
HDFS-15215. The Timestamp for longest write/read lock held log is wrong
brfrn169 9cf6c75
Merge branch 'trunk' of https://github.com/RogPodge/hadoop into trunk
RogPodge 89eab8d
Merge branch 'trunk' of https://github.com/RogPodge/hadoop into DNSCa…
RogPodge b98c39c
Merge branch 'trunk' of https://github.com/apache/hadoop into DNSCach…
RogPodge 00be462
remaining merge changes
RogPodge 2aa8b62
minor changes to fix merge errors
RogPodge 555f70c
lingering edit error
RogPodge File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
263 changes: 263 additions & 0 deletions
263
...n-client/src/test/java/org/apache/hadoop/yarn/client/TestNoHaRMFailoverProxyProvider.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,263 @@ | ||
| /** | ||
| * Licensed to the Apache Software Foundation (ASF) under one or more | ||
| * contributor license agreements. See the NOTICE file distributed with this | ||
| * work for additional information regarding copyright ownership. The ASF | ||
| * licenses this file to you under the Apache License, Version 2.0 (the | ||
| * "License"); you may not use this file except in compliance with the License. | ||
| * You may obtain a copy of the License at | ||
| * <p> | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * <p> | ||
| * Unless required by applicable law or agreed to in writing, software | ||
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||
| * License for the specific language governing permissions and limitations under | ||
| * the License. | ||
| */ | ||
| package org.apache.hadoop.yarn.client; | ||
|
|
||
| import org.apache.hadoop.conf.Configuration; | ||
| import org.apache.hadoop.io.retry.FailoverProxyProvider; | ||
| import org.apache.hadoop.yarn.api.ApplicationClientProtocol; | ||
| import org.apache.hadoop.yarn.api.records.NodeReport; | ||
| import org.apache.hadoop.yarn.client.api.YarnClient; | ||
| import org.apache.hadoop.yarn.conf.YarnConfiguration; | ||
| import org.apache.hadoop.yarn.exceptions.YarnException; | ||
| import org.apache.hadoop.yarn.server.MiniYARNCluster; | ||
| import org.junit.Before; | ||
| import org.junit.Test; | ||
|
|
||
| import java.io.Closeable; | ||
| import java.io.IOException; | ||
| import java.lang.reflect.InvocationHandler; | ||
| import java.lang.reflect.Proxy; | ||
| import java.net.InetSocketAddress; | ||
| import java.util.List; | ||
|
|
||
| import static org.junit.Assert.*; | ||
| import static org.mockito.Mockito.any; | ||
| import static org.mockito.Mockito.eq; | ||
| import static org.mockito.Mockito.times; | ||
| import static org.mockito.Mockito.mock; | ||
| import static org.mockito.Mockito.verify; | ||
| import static org.mockito.Mockito.when; | ||
|
|
||
| /** | ||
| * Unit tests for {@link DefaultNoHARMFailoverProxyProvider} and | ||
| * {@link AutoRefreshNoHARMFailoverProxyProvider}. | ||
| */ | ||
| public class TestNoHaRMFailoverProxyProvider { | ||
|
|
||
| // Default port of yarn RM | ||
| private static final int RM1_PORT = 8032; | ||
| private static final int RM2_PORT = 8031; | ||
|
|
||
| private static final int NUMNODEMANAGERS = 1; | ||
| private Configuration conf; | ||
|
|
||
| @Before | ||
| public void setUp() throws IOException, YarnException { | ||
| conf = new YarnConfiguration(); | ||
| } | ||
|
|
||
| /** | ||
| * Tests the proxy generated by {@link DefaultNoHAFailoverProxyProvider} | ||
| * will connect to RM. | ||
| */ | ||
| @Test | ||
| public void testRestartedRM() throws Exception { | ||
| MiniYARNCluster cluster = | ||
| new MiniYARNCluster("testRestartedRMNegative", NUMNODEMANAGERS, 1, 1); | ||
| YarnClient rmClient = YarnClient.createYarnClient(); | ||
| try { | ||
| cluster.init(conf); | ||
| cluster.start(); | ||
| final Configuration yarnConf = cluster.getConfig(); | ||
| rmClient = YarnClient.createYarnClient(); | ||
| rmClient.init(yarnConf); | ||
| rmClient.start(); | ||
| List <NodeReport> nodeReports = rmClient.getNodeReports(); | ||
| assertEquals( | ||
| "The proxy didn't get expected number of node reports", | ||
| NUMNODEMANAGERS, nodeReports.size()); | ||
| } finally { | ||
| if (rmClient != null) { | ||
| rmClient.stop(); | ||
| } | ||
| cluster.stop(); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Tests the proxy generated by | ||
| * {@link AutoRefreshNoHARMFailoverProxyProvider} will connect to RM. | ||
| */ | ||
| @Test | ||
| public void testConnectingToRM() throws Exception { | ||
| conf.setClass(YarnConfiguration.CLIENT_FAILOVER_NO_HA_PROXY_PROVIDER, | ||
| AutoRefreshNoHARMFailoverProxyProvider.class, | ||
| RMFailoverProxyProvider.class); | ||
| MiniYARNCluster cluster = | ||
| new MiniYARNCluster("testRestartedRMNegative", NUMNODEMANAGERS, 1, 1); | ||
| YarnClient rmClient = null; | ||
| try { | ||
| cluster.init(conf); | ||
| cluster.start(); | ||
| final Configuration yarnConf = cluster.getConfig(); | ||
| rmClient = YarnClient.createYarnClient(); | ||
| rmClient.init(yarnConf); | ||
| rmClient.start(); | ||
| List <NodeReport> nodeReports = rmClient.getNodeReports(); | ||
| assertEquals( | ||
| "The proxy didn't get expected number of node reports", | ||
| NUMNODEMANAGERS, nodeReports.size()); | ||
| } finally { | ||
| if (rmClient != null) { | ||
| rmClient.stop(); | ||
| } | ||
| cluster.stop(); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Test that the {@link DefaultNoHARMFailoverProxyProvider} | ||
| * will generate different proxies after RM IP changed | ||
| * and {@link DefaultNoHARMFailoverProxyProvider#performFailover(Object)} | ||
| * get called. | ||
| */ | ||
| @Test | ||
| public void testDefaultFPPGetOneProxy() throws Exception { | ||
| // Create a proxy and mock a RMProxy | ||
| Proxy mockProxy1 = new Proxy((proxy, method, args) -> null); | ||
| Class protocol = ApplicationClientProtocol.class; | ||
| RMProxy mockRMProxy = mock(RMProxy.class); | ||
| DefaultNoHARMFailoverProxyProvider <RMProxy> fpp = | ||
| new DefaultNoHARMFailoverProxyProvider<RMProxy>(); | ||
|
|
||
| InetSocketAddress mockAdd1 = new InetSocketAddress(RM1_PORT); | ||
|
|
||
| // Mock RMProxy methods | ||
| when(mockRMProxy.getRMAddress(any(YarnConfiguration.class), | ||
| any(Class.class))).thenReturn(mockAdd1); | ||
| when(mockRMProxy.getProxy(any(YarnConfiguration.class), | ||
| any(Class.class), eq(mockAdd1))).thenReturn(mockProxy1); | ||
|
|
||
| // Initialize failover proxy provider and get proxy from it. | ||
| fpp.init(conf, mockRMProxy, protocol); | ||
| FailoverProxyProvider.ProxyInfo<RMProxy> actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
|
|
||
| // Invoke fpp.getProxy() multiple times and | ||
| // validate the returned proxy is always mockProxy1 | ||
| actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
| actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
|
|
||
| // verify that mockRMProxy.getProxy() is invoked once only. | ||
| verify(mockRMProxy, times(1)) | ||
| .getProxy(any(YarnConfiguration.class), any(Class.class), | ||
| eq(mockAdd1)); | ||
|
|
||
| // Perform Failover and get proxy again from failover proxy provider | ||
| fpp.performFailover(actualProxy1.proxy); | ||
| FailoverProxyProvider.ProxyInfo<RMProxy> actualProxy2 = fpp.getProxy(); | ||
| assertEquals("AutoRefreshRMFailoverProxyProvider " + | ||
| "doesn't generate expected proxy after failover", | ||
| mockProxy1, actualProxy2.proxy); | ||
|
|
||
| // verify that mockRMProxy.getProxy() didn't get invoked again after | ||
| // performFailover() | ||
| verify(mockRMProxy, times(1)) | ||
| .getProxy(any(YarnConfiguration.class), any(Class.class), | ||
| eq(mockAdd1)); | ||
| } | ||
|
|
||
| /** | ||
| * Test that the {@link AutoRefreshNoHARMFailoverProxyProvider} | ||
| * will generate different proxies after RM IP changed | ||
| * and {@link AutoRefreshNoHARMFailoverProxyProvider#performFailover(Object)} | ||
| * get called. | ||
| */ | ||
| @Test | ||
| public void testAutoRefreshIPChange() throws Exception { | ||
| conf.setClass(YarnConfiguration.CLIENT_FAILOVER_NO_HA_PROXY_PROVIDER, | ||
| AutoRefreshNoHARMFailoverProxyProvider.class, | ||
| RMFailoverProxyProvider.class); | ||
|
|
||
| // Create two proxies and mock a RMProxy | ||
| Proxy mockProxy1 = new Proxy((proxy, method, args) -> null); | ||
| Proxy mockProxy2 = new Proxy((proxy, method, args) -> null); | ||
| Class protocol = ApplicationClientProtocol.class; | ||
| RMProxy mockRMProxy = mock(RMProxy.class); | ||
| AutoRefreshNoHARMFailoverProxyProvider<RMProxy> fpp = | ||
| new AutoRefreshNoHARMFailoverProxyProvider<RMProxy>(); | ||
|
|
||
| // generate two address with different ports. | ||
| InetSocketAddress mockAdd1 = new InetSocketAddress(RM1_PORT); | ||
| InetSocketAddress mockAdd2 = new InetSocketAddress(RM2_PORT); | ||
|
|
||
| // Mock RMProxy methods | ||
| when(mockRMProxy.getRMAddress(any(YarnConfiguration.class), | ||
| any(Class.class))).thenReturn(mockAdd1); | ||
| when(mockRMProxy.getProxy(any(YarnConfiguration.class), | ||
| any(Class.class), eq(mockAdd1))).thenReturn(mockProxy1); | ||
|
|
||
| // Initialize proxy provider and get proxy from it. | ||
| fpp.init(conf, mockRMProxy, protocol); | ||
| FailoverProxyProvider.ProxyInfo <RMProxy> actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
|
|
||
| // Invoke fpp.getProxy() multiple times and | ||
| // validate the returned proxy is always mockProxy1 | ||
| actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
| actualProxy1 = fpp.getProxy(); | ||
| assertEquals( | ||
| "AutoRefreshRMFailoverProxyProvider doesn't generate " + | ||
| "expected proxy", | ||
| mockProxy1, actualProxy1.proxy); | ||
|
|
||
| // verify that mockRMProxy.getProxy() is invoked once only. | ||
| verify(mockRMProxy, times(1)) | ||
| .getProxy(any(YarnConfiguration.class), any(Class.class), | ||
| eq(mockAdd1)); | ||
|
|
||
| // Mock RMProxy methods to generate different proxy | ||
| // based on different IP address. | ||
| when(mockRMProxy.getRMAddress( | ||
| any(YarnConfiguration.class), | ||
| any(Class.class))).thenReturn(mockAdd2); | ||
| when(mockRMProxy.getProxy( | ||
| any(YarnConfiguration.class), | ||
| any(Class.class), eq(mockAdd2))).thenReturn(mockProxy2); | ||
|
|
||
| // Perform Failover and get proxy again from failover proxy provider | ||
| fpp.performFailover(actualProxy1.proxy); | ||
| FailoverProxyProvider.ProxyInfo <RMProxy> actualProxy2 = fpp.getProxy(); | ||
| assertEquals("AutoRefreshNoHARMFailoverProxyProvider " + | ||
| "doesn't generate expected proxy after failover", | ||
| mockProxy2, actualProxy2.proxy); | ||
|
|
||
| // check the proxy is different with the one we created before. | ||
| assertNotEquals("AutoRefreshNoHARMFailoverProxyProvider " + | ||
| "shouldn't generate same proxy after failover", | ||
| actualProxy1.proxy, actualProxy2.proxy); | ||
| } | ||
| } | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.